bolognese 0.9.64 → 0.9.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 31d45dc378c73824c1aac9feca4de0c6bcd7691768b097ff9f84a53e8f2fe1df
4
- data.tar.gz: 76a9555b614926063d06289cd2e46c7f1f016b3d102ff346c646c352878b03a9
3
+ metadata.gz: 09505c13abec0fcef7d223b347ffe0c56776a532c7fa39ff74743df675d3cde8
4
+ data.tar.gz: 07e33dd6c83d791faecd227db891a63b9c904806ea101534aee3e091f717fad9
5
5
  SHA512:
6
- metadata.gz: a2452fa3c75c17c06d76640a277a136ffe0722901bc23ecdc48ee80ebbc95a03b058231650ec19b6dc9d469c11a20afafffb362836d27a8344d6ba76c75097ee
7
- data.tar.gz: ded349b97dbf346435b293229a54b2acbd54fbe09cf9e6073579fc70e5b21f954f718b3f11383a52a013e5a8602800bc880e4e4bb25ed4e2ec94c1dbf34491d0
6
+ metadata.gz: 90a2fef397b622959ed381c34fe3cd0d181f3e5c04ec1166275e3a056009b34ab59b814cf22a9c980e25cd8d8040e27b717db48db67adff1fb1da0a1e3c16cbf
7
+ data.tar.gz: 7fed5ec5ff56b47f5a722ab1ff3dfdaee165edc295fc71646d813f435b20426add74eb18aa1f66c4cad9fc119af55d2931d8b57c9daecea750e00fa919a9cab6
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (0.9.64)
4
+ bolognese (0.9.65)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
@@ -44,8 +44,8 @@ GEM
44
44
  crass (1.0.3)
45
45
  diff-lcs (1.3)
46
46
  docile (1.1.5)
47
- ebnf (1.1.1)
48
- rdf (~> 2.2)
47
+ ebnf (1.1.2)
48
+ rdf (>= 2.2, < 4.0)
49
49
  sxp (~> 1.0)
50
50
  excon (0.45.4)
51
51
  faraday (0.9.2)
@@ -67,9 +67,9 @@ GEM
67
67
  concurrent-ruby (~> 1.0)
68
68
  iso8601 (0.9.1)
69
69
  json (2.1.0)
70
- json-ld (2.1.7)
70
+ json-ld (2.2.1)
71
71
  multi_json (~> 1.12)
72
- rdf (~> 2.2, >= 2.2.8)
72
+ rdf (>= 2.2.8, < 4.0)
73
73
  jsonlint (0.2.0)
74
74
  oj (~> 2)
75
75
  trollop (~> 2)
@@ -109,24 +109,24 @@ GEM
109
109
  rdf (2.2.12)
110
110
  hamster (~> 3.0)
111
111
  link_header (~> 0.0, >= 0.0.8)
112
- rdf-aggregate-repo (2.2.0)
113
- rdf (~> 2.0)
114
- rdf-rdfa (2.2.3)
112
+ rdf-aggregate-repo (2.2.1)
113
+ rdf (>= 2.2, < 4.0)
114
+ rdf-rdfa (2.2.4)
115
115
  haml (~> 5.0)
116
116
  htmlentities (~> 4.3)
117
- rdf (~> 2.2)
118
- rdf-aggregate-repo (~> 2.2)
119
- rdf-xsd (~> 2.1)
120
- rdf-rdfxml (2.2.0)
117
+ rdf (>= 2.2, < 4.0)
118
+ rdf-aggregate-repo (>= 2.2, < 4.0)
119
+ rdf-xsd (>= 2.2, < 4.0)
120
+ rdf-rdfxml (2.2.1)
121
121
  htmlentities (~> 4.3)
122
- rdf (~> 2.0)
123
- rdf-rdfa (~> 2.0)
124
- rdf-xsd (~> 2.0)
125
- rdf-turtle (2.2.1)
122
+ rdf (>= 2.2, < 4.0)
123
+ rdf-rdfa (>= 2.2, < 4.0)
124
+ rdf-xsd (>= 2.2, < 4.0)
125
+ rdf-turtle (2.2.2)
126
126
  ebnf (~> 1.1)
127
- rdf (~> 2.2)
128
- rdf-xsd (2.2.0)
129
- rdf (~> 2.1)
127
+ rdf (>= 2.2, < 4.0)
128
+ rdf-xsd (2.2.1)
129
+ rdf (>= 2.2, < 4.0)
130
130
  rspec (3.7.0)
131
131
  rspec-core (~> 3.7.0)
132
132
  rspec-expectations (~> 3.7.0)
@@ -149,8 +149,8 @@ GEM
149
149
  json (>= 1.8, < 3)
150
150
  simplecov-html (~> 0.10.0)
151
151
  simplecov-html (0.10.2)
152
- sxp (1.0.0)
153
- rdf (~> 2.0)
152
+ sxp (1.0.1)
153
+ rdf (>= 2.2, < 4.0)
154
154
  temple (0.8.0)
155
155
  thor (0.20.0)
156
156
  thread_safe (0.3.6)
@@ -19,14 +19,6 @@ module Bolognese
19
19
  parse_attributes(author.fetch("contributorName", nil)) ||
20
20
  author.fetch("name", nil)
21
21
 
22
- if name.include?("; ")
23
- authors = name.split("; ").map do |name|
24
- { "type" => author.fetch("type", nil),
25
- "id" => author.fetch("id", nil),
26
- "name" => name }.compact
27
- end
28
- return get_authors(authors)
29
- end
30
22
 
31
23
  name = cleanup_author(name)
32
24
  given_name = author.fetch("givenName", nil)
@@ -72,9 +64,6 @@ module Bolognese
72
64
  # remove spaces around hyphens
73
65
  author = author.gsub(" - ", "-")
74
66
 
75
- # remove text in parentheses
76
- author = author.sub(/\s*\(.+\)\s*/, '')
77
-
78
67
  # titleize strings
79
68
  # remove non-standard space characters
80
69
  author.my_titleize.gsub(/[[:space:]]/, ' ')
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "0.9.64"
2
+ VERSION = "0.9.65"
3
3
  end
@@ -92,18 +92,7 @@ describe Bolognese::Metadata, vcr: true do
92
92
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
93
93
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
94
94
  response = subject.get_authors(meta.dig("creators", "creator"))
95
- expect(response).to eq([{"type"=>"Person",
96
- "name"=>"Ryan Enos",
97
- "givenName"=>"Ryan",
98
- "familyName"=>"Enos"},
99
- {"type"=>"Person",
100
- "name"=>"Anthony Fowler",
101
- "givenName"=>"Anthony",
102
- "familyName"=>"Fowler"},
103
- {"type"=>"Person",
104
- "name"=>"Lynn Vavreck",
105
- "givenName"=>"Lynn",
106
- "familyName"=>"Vavreck"}])
95
+ expect(response).to eq("name" => "Enos, Ryan (Harvard University); Fowler, Anthony (University Of Chicago); Vavreck, Lynn (UCLA)")
107
96
  end
108
97
 
109
98
  it "hyper-authorship" do
@@ -129,6 +118,14 @@ describe Bolognese::Metadata, vcr: true do
129
118
  expect(response).to eq("type"=>"Person", "name"=>"Dr. Störi, Kunstsalon")
130
119
  end
131
120
 
121
+ it "name with affiliation and country" do
122
+ input = "10.16910/jemr.9.1.2"
123
+ subject = Bolognese::Metadata.new(input: input, from: "datacite")
124
+ meta = Maremma.from_xml(subject.raw).fetch("resource", {})
125
+ response = subject.get_one_author(meta.dig("creators", "creator").first)
126
+ expect(response).to eq("name"=>"Eraslan, Sukru; University Of Manchester, UK, & Middle East Technical University, Northern Cyprus Campus, Kalkanli, Guzelyurt, Turkey")
127
+ end
128
+
132
129
  it "name with role" do
133
130
  input = "10.14463/GBV:873056442"
134
131
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
@@ -0,0 +1,90 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.datacite.org/dois/10.16910/jemr.9.1.2?include=client,provider
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Access-Control-Allow-Headers:
20
+ - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
21
+ Access-Control-Allow-Methods:
22
+ - GET, POST, PATCH, PUT, DELETE, OPTIONS
23
+ Access-Control-Allow-Origin:
24
+ - "*"
25
+ Access-Control-Expose-Headers:
26
+ - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
27
+ Cache-Control:
28
+ - max-age=0, private, must-revalidate
29
+ Content-Type:
30
+ - application/vnd.api+json; charset=utf-8
31
+ Date:
32
+ - Fri, 15 Dec 2017 11:47:12 GMT
33
+ Etag:
34
+ - W/"9c98c7be915568eb830b726459a2c7e3"
35
+ Server:
36
+ - openresty/1.11.2.2
37
+ Status:
38
+ - 200 OK
39
+ Vary:
40
+ - Accept-Encoding
41
+ Via:
42
+ - kong/0.10.3
43
+ X-Anonymous-Consumer:
44
+ - 'true'
45
+ X-Kong-Proxy-Latency:
46
+ - '0'
47
+ X-Kong-Upstream-Latency:
48
+ - '13'
49
+ X-Powered-By:
50
+ - Phusion Passenger 5.1.12
51
+ X-Request-Id:
52
+ - 69d310fb-9c5a-4e21-9e5b-0365ae687b7a
53
+ X-Runtime:
54
+ - '0.011972'
55
+ Content-Length:
56
+ - '7444'
57
+ Connection:
58
+ - keep-alive
59
+ body:
60
+ encoding: UTF-8
61
+ string: '{"data":{"id":"10.16910/jemr.9.1.2","type":"dois","attributes":{"doi":"10.16910/jemr.9.1.2","identifier":"https://doi.org/10.16910/jemr.9.1.2","url":null,"author":[[{"type":"Person","name":"Sukru
62
+ Eraslan","given-name":"Sukru","family-name":"Eraslan"},{"type":"Person","name":"UK
63
+ University Of Manchester","given-name":"UK","family-name":"University Of Manchester"}],[{"type":"Person","name":"Yeliz
64
+ Yesilada","given-name":"Yeliz","family-name":"Yesilada"},{"type":"Person","name":"Middle
65
+ East Technical University, Northern Cyprus Campus, 99738 Kalkanli, Guzelyurt,
66
+ Mersin 10, Turkey"}],[{"type":"Person","name":"Simon Harper","given-name":"Simon","family-name":"Harper"},{"type":"Person","name":"University
67
+ Of Manchester School Of Computer Science","given-name":"University Of Manchester","family-name":"School
68
+ Of Computer Science"}]],"title":"Eye tracking scanpath analysis techniques
69
+ on web pages: A survey, evaluation and comparison","container-title":"eyemovement.org","description":{"type":"Other","text":"Eye
70
+ tracking has commonly been used to investigate how users interact with web
71
+ pages, with the goal of improving their usability. This article comprehensively
72
+ revisits the techniques that could be applicable to eye tracking data for
73
+ analysing user scanpaths on web pages. It also uses a third-party eye tracking
74
+ study to compare these techniques. This allows researchers to recognise existing
75
+ techniques for their goals, understand how they work and know their strengths
76
+ and limitations so that they can make an efficient choice for their studies.
77
+ These techniques can mainly be used for calculating similarities/dissimilarities
78
+ between scanpaths, computing transition probabilities between web page elements,
79
+ detecting patterns in scanpaths and identifying common scanpaths. The scanpath
80
+ analysis techniques are classified into four groups by their goals so that
81
+ researchers can directly focus on the appropriate techniques for a sequential
82
+ analysis of user scanpaths on web pages. This article also suggests dealing
83
+ with the limitations of these techniques by pre-processing eye tracking data,
84
+ considering cognitive processing and addressing their reductionist approach."},"resource-type-subtype":"Workflow","license":null,"version":2,"related-identifier":[],"schema-version":"http://datacite.org/schema/kernel-3","state":"findable","xml":"PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48cmVzb3Vy\nY2UgeG1sbnM9Imh0dHA6Ly9kYXRhY2l0ZS5vcmcvc2NoZW1hL2tlcm5lbC0z\nIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1h\nLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9kYXRhY2l0\nZS5vcmcvc2NoZW1hL2tlcm5lbC0zIGh0dHA6Ly9zY2hlbWEuZGF0YWNpdGUu\nb3JnL21ldGEva2VybmVsLTMvbWV0YWRhdGEueHNkIj48aWRlbnRpZmllciBp\nZGVudGlmaWVyVHlwZT0iRE9JIj4xMC4xNjkxMC9qZW1yLjkuMS4yPC9pZGVu\ndGlmaWVyPjxjcmVhdG9ycz48Y3JlYXRvcj48Y3JlYXRvck5hbWU+RXJhc2xh\nbiwgU3VrcnU7IFVuaXZlcnNpdHkgb2YgTWFuY2hlc3RlciwgVUssICZhbXA7\nIE1pZGRsZSBFYXN0IFRlY2huaWNhbCBVbml2ZXJzaXR5LCBOb3J0aGVybiBD\neXBydXMgQ2FtcHVzLCAgS2Fsa2FubGksIEd1emVseXVydCwgVHVya2V5PC9j\ncmVhdG9yTmFtZT48L2NyZWF0b3I+PGNyZWF0b3I+PGNyZWF0b3JOYW1lPlll\nc2lsYWRhLCBZZWxpejsgTWlkZGxlIEVhc3QgVGVjaG5pY2FsIFVuaXZlcnNp\ndHksIE5vcnRoZXJuIEN5cHJ1cyBDYW1wdXMsIDk5NzM4IEthbGthbmxpLCBH\ndXplbHl1cnQsIE1lcnNpbiAxMCwgVHVya2V5PC9jcmVhdG9yTmFtZT48L2Ny\nZWF0b3I+PGNyZWF0b3I+PGNyZWF0b3JOYW1lPkhhcnBlciwgU2ltb247IFNj\naG9vbCBvZiBDb21wdXRlciBTY2llbmNlLCBVbml2ZXJzaXR5IG9mIE1hbmNo\nZXN0ZXIsIE1hbmNoZXN0ZXIsIFVuaXRlZCBLaW5nZG9tPC9jcmVhdG9yTmFt\nZT48L2NyZWF0b3I+PC9jcmVhdG9ycz48dGl0bGVzPjx0aXRsZT5FeWUgdHJh\nY2tpbmcgc2NhbnBhdGggYW5hbHlzaXMgdGVjaG5pcXVlcyBvbiB3ZWIgcGFn\nZXM6IEEgc3VydmV5LCBldmFsdWF0aW9uIGFuZCBjb21wYXJpc29uPC90aXRs\nZT48L3RpdGxlcz48cHVibGlzaGVyPmV5ZW1vdmVtZW50Lm9yZzwvcHVibGlz\naGVyPjxwdWJsaWNhdGlvblllYXI+MjAxNTwvcHVibGljYXRpb25ZZWFyPjxz\ndWJqZWN0cz48c3ViamVjdD5leWUgdHJhY2tpbmc7IGV5ZSBtb3ZlbWVudHM7\nIHNjYW5wYXRoczsgZXllIG1vdmVtZW50IHNlcXVlbmNlOyB3ZWIgcGFnZXM7\nIHZpc3VhbCBlbGVtZW50czsgd2ViIHBhZ2VzOyBzY2FucGF0aCBhbmFseXNp\ncyB0ZWNobmlxdWVzOyBzY2FucGF0aCBhbmFseXNpczsgcGF0dGVybiBkZXRl\nY3Rpb247IGNvbW1vbiBzY2FucGF0aHM8L3N1YmplY3Q+PC9zdWJqZWN0cz48\nZGF0ZXM+PGRhdGUgZGF0ZVR5cGU9IkF2YWlsYWJsZSI+MjAxNS0xMi0zMDwv\nZGF0ZT48L2RhdGVzPjxsYW5ndWFnZT5lbmc8L2xhbmd1YWdlPjxyZXNvdXJj\nZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iV29ya2Zsb3ciPjwvcmVzb3Vy\nY2VUeXBlPjxmb3JtYXRzPjxmb3JtYXQ+YXBwbGljYXRpb24vcGRmPC9mb3Jt\nYXQ+PC9mb3JtYXRzPjxyaWdodHNMaXN0PjxyaWdodHM+aHR0cDovL2NyZWF0\naXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvNC4wPC9yaWdodHM+PHJpZ2h0\ncz5Db3B5cmlnaHQgKGMpIDIwMTUgU3VrcnUgRXJhc2xhbiwgWWVsaXogWWVz\naWxhZGEsIFNpbW9uIEhhcnBlcjwvcmlnaHRzPjwvcmlnaHRzTGlzdD48ZGVz\nY3JpcHRpb25zPjxkZXNjcmlwdGlvbiBkZXNjcmlwdGlvblR5cGU9Ik90aGVy\nIj5FeWUgdHJhY2tpbmcgaGFzIGNvbW1vbmx5IGJlZW4gdXNlZCB0byBpbnZl\nc3RpZ2F0ZSBob3cgdXNlcnMgaW50ZXJhY3Qgd2l0aCB3ZWIgcGFnZXMsIHdp\ndGggdGhlIGdvYWwgb2YgaW1wcm92aW5nIHRoZWlyIHVzYWJpbGl0eS4gVGhp\ncyBhcnRpY2xlIGNvbXByZWhlbnNpdmVseSByZXZpc2l0cyB0aGUgdGVjaG5p\ncXVlcyB0aGF0IGNvdWxkIGJlIGFwcGxpY2FibGUgdG8gZXllIHRyYWNraW5n\nIGRhdGEgZm9yIGFuYWx5c2luZyB1c2VyIHNjYW5wYXRocyBvbiB3ZWIgcGFn\nZXMuIEl0IGFsc28gdXNlcyBhIHRoaXJkLXBhcnR5IGV5ZSB0cmFja2luZyBz\ndHVkeSB0byBjb21wYXJlIHRoZXNlIHRlY2huaXF1ZXMuIFRoaXMgYWxsb3dz\nIHJlc2VhcmNoZXJzIHRvIHJlY29nbmlzZSBleGlzdGluZyB0ZWNobmlxdWVz\nIGZvciB0aGVpciBnb2FscywgdW5kZXJzdGFuZCBob3cgdGhleSB3b3JrIGFu\nZCBrbm93IHRoZWlyIHN0cmVuZ3RocyBhbmQgbGltaXRhdGlvbnMgc28gdGhh\ndCB0aGV5IGNhbiBtYWtlIGFuIGVmZmljaWVudCBjaG9pY2UgZm9yIHRoZWly\nIHN0dWRpZXMuIFRoZXNlIHRlY2huaXF1ZXMgY2FuIG1haW5seSBiZSB1c2Vk\nIGZvciBjYWxjdWxhdGluZyBzaW1pbGFyaXRpZXMvZGlzc2ltaWxhcml0aWVz\nIGJldHdlZW4gc2NhbnBhdGhzLCBjb21wdXRpbmcgdHJhbnNpdGlvbiBwcm9i\nYWJpbGl0aWVzIGJldHdlZW4gd2ViIHBhZ2UgZWxlbWVudHMsIGRldGVjdGlu\nZyBwYXR0ZXJucyBpbiBzY2FucGF0aHMgYW5kIGlkZW50aWZ5aW5nIGNvbW1v\nbiBzY2FucGF0aHMuIFRoZSBzY2FucGF0aCBhbmFseXNpcyB0ZWNobmlxdWVz\nIGFyZSBjbGFzc2lmaWVkIGludG8gZm91ciBncm91cHMgYnkgdGhlaXIgZ29h\nbHMgc28gdGhhdCByZXNlYXJjaGVycyBjYW4gZGlyZWN0bHkgZm9jdXMgb24g\ndGhlIGFwcHJvcHJpYXRlIHRlY2huaXF1ZXMgZm9yIGEgc2VxdWVudGlhbCBh\nbmFseXNpcyBvZiB1c2VyIHNjYW5wYXRocyBvbiB3ZWIgcGFnZXMuIFRoaXMg\nYXJ0aWNsZSBhbHNvIHN1Z2dlc3RzIGRlYWxpbmcgd2l0aCB0aGUgbGltaXRh\ndGlvbnMgb2YgdGhlc2UgdGVjaG5pcXVlcyBieSBwcmUtcHJvY2Vzc2luZyBl\neWUgdHJhY2tpbmcgZGF0YSwgY29uc2lkZXJpbmcgY29nbml0aXZlIHByb2Nl\nc3NpbmcgYW5kIGFkZHJlc3NpbmcgdGhlaXIgcmVkdWN0aW9uaXN0IGFwcHJv\nYWNoLjwvZGVzY3JpcHRpb24+PC9kZXNjcmlwdGlvbnM+PC9yZXNvdXJjZT4=\n","published":"2015","registered":"2016-02-22T14:43:13.000Z","updated":"2016-06-09T13:32:43.000Z"},"relationships":{"client":{"data":{"id":"ethz.bopjemr","type":"clients"}},"provider":{"data":{"id":"ethz","type":"providers"}},"resource-type":{"meta":{}},"media":{"meta":{}}}},"included":[{"id":"ethz.bopjemr","type":"clients","attributes":{"name":"BOP:
85
+ JEMR","symbol":"ETHZ.BOPJEMR","year":2016,"contact-name":"ETH-Bibliothek,
86
+ Barbara Hirschmann","contact-email":"doi@library.ethz.ch","domains":"bop.unibe.ch","is-active":true,"password":"yes","created":"2016-02-22T14:40:17Z","updated":"2017-11-07T17:10:02Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"ethz","type":"providers","attributes":{"name":"ETH
87
+ Zurich","symbol":"ETHZ","year":2010,"contact-name":"Barbara Hirschmann","contact-email":"barbara.hirschmann@library.ethz.ch","logo-url":"https://assets.datacite.org/images/members/ethz.png","is-active":true,"password":"yes","created":"2010-01-01T00:00:00.000Z","updated":"2017-11-07T17:08:27.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}}]}'
88
+ http_version:
89
+ recorded_at: Fri, 15 Dec 2017 11:47:12 GMT
90
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,90 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.datacite.org/dois/10.16910/jemr.9.1.2?include=client,provider
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Access-Control-Allow-Headers:
20
+ - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
21
+ Access-Control-Allow-Methods:
22
+ - GET, POST, PATCH, PUT, DELETE, OPTIONS
23
+ Access-Control-Allow-Origin:
24
+ - "*"
25
+ Access-Control-Expose-Headers:
26
+ - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
27
+ Cache-Control:
28
+ - max-age=0, private, must-revalidate
29
+ Content-Type:
30
+ - application/vnd.api+json; charset=utf-8
31
+ Date:
32
+ - Fri, 15 Dec 2017 14:26:50 GMT
33
+ Etag:
34
+ - W/"9c98c7be915568eb830b726459a2c7e3"
35
+ Server:
36
+ - openresty/1.11.2.2
37
+ Status:
38
+ - 200 OK
39
+ Vary:
40
+ - Accept-Encoding
41
+ Via:
42
+ - kong/0.10.3
43
+ X-Anonymous-Consumer:
44
+ - 'true'
45
+ X-Kong-Proxy-Latency:
46
+ - '0'
47
+ X-Kong-Upstream-Latency:
48
+ - '96'
49
+ X-Powered-By:
50
+ - Phusion Passenger 5.1.12
51
+ X-Request-Id:
52
+ - a070526d-6e77-440c-b37a-dc94b79a075a
53
+ X-Runtime:
54
+ - '0.093748'
55
+ Content-Length:
56
+ - '7444'
57
+ Connection:
58
+ - keep-alive
59
+ body:
60
+ encoding: UTF-8
61
+ string: '{"data":{"id":"10.16910/jemr.9.1.2","type":"dois","attributes":{"doi":"10.16910/jemr.9.1.2","identifier":"https://doi.org/10.16910/jemr.9.1.2","url":null,"author":[[{"type":"Person","name":"Sukru
62
+ Eraslan","given-name":"Sukru","family-name":"Eraslan"},{"type":"Person","name":"UK
63
+ University Of Manchester","given-name":"UK","family-name":"University Of Manchester"}],[{"type":"Person","name":"Yeliz
64
+ Yesilada","given-name":"Yeliz","family-name":"Yesilada"},{"type":"Person","name":"Middle
65
+ East Technical University, Northern Cyprus Campus, 99738 Kalkanli, Guzelyurt,
66
+ Mersin 10, Turkey"}],[{"type":"Person","name":"Simon Harper","given-name":"Simon","family-name":"Harper"},{"type":"Person","name":"University
67
+ Of Manchester School Of Computer Science","given-name":"University Of Manchester","family-name":"School
68
+ Of Computer Science"}]],"title":"Eye tracking scanpath analysis techniques
69
+ on web pages: A survey, evaluation and comparison","container-title":"eyemovement.org","description":{"type":"Other","text":"Eye
70
+ tracking has commonly been used to investigate how users interact with web
71
+ pages, with the goal of improving their usability. This article comprehensively
72
+ revisits the techniques that could be applicable to eye tracking data for
73
+ analysing user scanpaths on web pages. It also uses a third-party eye tracking
74
+ study to compare these techniques. This allows researchers to recognise existing
75
+ techniques for their goals, understand how they work and know their strengths
76
+ and limitations so that they can make an efficient choice for their studies.
77
+ These techniques can mainly be used for calculating similarities/dissimilarities
78
+ between scanpaths, computing transition probabilities between web page elements,
79
+ detecting patterns in scanpaths and identifying common scanpaths. The scanpath
80
+ analysis techniques are classified into four groups by their goals so that
81
+ researchers can directly focus on the appropriate techniques for a sequential
82
+ analysis of user scanpaths on web pages. This article also suggests dealing
83
+ with the limitations of these techniques by pre-processing eye tracking data,
84
+ considering cognitive processing and addressing their reductionist approach."},"resource-type-subtype":"Workflow","license":null,"version":2,"related-identifier":[],"schema-version":"http://datacite.org/schema/kernel-3","state":"findable","xml":"PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48cmVzb3Vy\nY2UgeG1sbnM9Imh0dHA6Ly9kYXRhY2l0ZS5vcmcvc2NoZW1hL2tlcm5lbC0z\nIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1h\nLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9kYXRhY2l0\nZS5vcmcvc2NoZW1hL2tlcm5lbC0zIGh0dHA6Ly9zY2hlbWEuZGF0YWNpdGUu\nb3JnL21ldGEva2VybmVsLTMvbWV0YWRhdGEueHNkIj48aWRlbnRpZmllciBp\nZGVudGlmaWVyVHlwZT0iRE9JIj4xMC4xNjkxMC9qZW1yLjkuMS4yPC9pZGVu\ndGlmaWVyPjxjcmVhdG9ycz48Y3JlYXRvcj48Y3JlYXRvck5hbWU+RXJhc2xh\nbiwgU3VrcnU7IFVuaXZlcnNpdHkgb2YgTWFuY2hlc3RlciwgVUssICZhbXA7\nIE1pZGRsZSBFYXN0IFRlY2huaWNhbCBVbml2ZXJzaXR5LCBOb3J0aGVybiBD\neXBydXMgQ2FtcHVzLCAgS2Fsa2FubGksIEd1emVseXVydCwgVHVya2V5PC9j\ncmVhdG9yTmFtZT48L2NyZWF0b3I+PGNyZWF0b3I+PGNyZWF0b3JOYW1lPlll\nc2lsYWRhLCBZZWxpejsgTWlkZGxlIEVhc3QgVGVjaG5pY2FsIFVuaXZlcnNp\ndHksIE5vcnRoZXJuIEN5cHJ1cyBDYW1wdXMsIDk5NzM4IEthbGthbmxpLCBH\ndXplbHl1cnQsIE1lcnNpbiAxMCwgVHVya2V5PC9jcmVhdG9yTmFtZT48L2Ny\nZWF0b3I+PGNyZWF0b3I+PGNyZWF0b3JOYW1lPkhhcnBlciwgU2ltb247IFNj\naG9vbCBvZiBDb21wdXRlciBTY2llbmNlLCBVbml2ZXJzaXR5IG9mIE1hbmNo\nZXN0ZXIsIE1hbmNoZXN0ZXIsIFVuaXRlZCBLaW5nZG9tPC9jcmVhdG9yTmFt\nZT48L2NyZWF0b3I+PC9jcmVhdG9ycz48dGl0bGVzPjx0aXRsZT5FeWUgdHJh\nY2tpbmcgc2NhbnBhdGggYW5hbHlzaXMgdGVjaG5pcXVlcyBvbiB3ZWIgcGFn\nZXM6IEEgc3VydmV5LCBldmFsdWF0aW9uIGFuZCBjb21wYXJpc29uPC90aXRs\nZT48L3RpdGxlcz48cHVibGlzaGVyPmV5ZW1vdmVtZW50Lm9yZzwvcHVibGlz\naGVyPjxwdWJsaWNhdGlvblllYXI+MjAxNTwvcHVibGljYXRpb25ZZWFyPjxz\ndWJqZWN0cz48c3ViamVjdD5leWUgdHJhY2tpbmc7IGV5ZSBtb3ZlbWVudHM7\nIHNjYW5wYXRoczsgZXllIG1vdmVtZW50IHNlcXVlbmNlOyB3ZWIgcGFnZXM7\nIHZpc3VhbCBlbGVtZW50czsgd2ViIHBhZ2VzOyBzY2FucGF0aCBhbmFseXNp\ncyB0ZWNobmlxdWVzOyBzY2FucGF0aCBhbmFseXNpczsgcGF0dGVybiBkZXRl\nY3Rpb247IGNvbW1vbiBzY2FucGF0aHM8L3N1YmplY3Q+PC9zdWJqZWN0cz48\nZGF0ZXM+PGRhdGUgZGF0ZVR5cGU9IkF2YWlsYWJsZSI+MjAxNS0xMi0zMDwv\nZGF0ZT48L2RhdGVzPjxsYW5ndWFnZT5lbmc8L2xhbmd1YWdlPjxyZXNvdXJj\nZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iV29ya2Zsb3ciPjwvcmVzb3Vy\nY2VUeXBlPjxmb3JtYXRzPjxmb3JtYXQ+YXBwbGljYXRpb24vcGRmPC9mb3Jt\nYXQ+PC9mb3JtYXRzPjxyaWdodHNMaXN0PjxyaWdodHM+aHR0cDovL2NyZWF0\naXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvNC4wPC9yaWdodHM+PHJpZ2h0\ncz5Db3B5cmlnaHQgKGMpIDIwMTUgU3VrcnUgRXJhc2xhbiwgWWVsaXogWWVz\naWxhZGEsIFNpbW9uIEhhcnBlcjwvcmlnaHRzPjwvcmlnaHRzTGlzdD48ZGVz\nY3JpcHRpb25zPjxkZXNjcmlwdGlvbiBkZXNjcmlwdGlvblR5cGU9Ik90aGVy\nIj5FeWUgdHJhY2tpbmcgaGFzIGNvbW1vbmx5IGJlZW4gdXNlZCB0byBpbnZl\nc3RpZ2F0ZSBob3cgdXNlcnMgaW50ZXJhY3Qgd2l0aCB3ZWIgcGFnZXMsIHdp\ndGggdGhlIGdvYWwgb2YgaW1wcm92aW5nIHRoZWlyIHVzYWJpbGl0eS4gVGhp\ncyBhcnRpY2xlIGNvbXByZWhlbnNpdmVseSByZXZpc2l0cyB0aGUgdGVjaG5p\ncXVlcyB0aGF0IGNvdWxkIGJlIGFwcGxpY2FibGUgdG8gZXllIHRyYWNraW5n\nIGRhdGEgZm9yIGFuYWx5c2luZyB1c2VyIHNjYW5wYXRocyBvbiB3ZWIgcGFn\nZXMuIEl0IGFsc28gdXNlcyBhIHRoaXJkLXBhcnR5IGV5ZSB0cmFja2luZyBz\ndHVkeSB0byBjb21wYXJlIHRoZXNlIHRlY2huaXF1ZXMuIFRoaXMgYWxsb3dz\nIHJlc2VhcmNoZXJzIHRvIHJlY29nbmlzZSBleGlzdGluZyB0ZWNobmlxdWVz\nIGZvciB0aGVpciBnb2FscywgdW5kZXJzdGFuZCBob3cgdGhleSB3b3JrIGFu\nZCBrbm93IHRoZWlyIHN0cmVuZ3RocyBhbmQgbGltaXRhdGlvbnMgc28gdGhh\ndCB0aGV5IGNhbiBtYWtlIGFuIGVmZmljaWVudCBjaG9pY2UgZm9yIHRoZWly\nIHN0dWRpZXMuIFRoZXNlIHRlY2huaXF1ZXMgY2FuIG1haW5seSBiZSB1c2Vk\nIGZvciBjYWxjdWxhdGluZyBzaW1pbGFyaXRpZXMvZGlzc2ltaWxhcml0aWVz\nIGJldHdlZW4gc2NhbnBhdGhzLCBjb21wdXRpbmcgdHJhbnNpdGlvbiBwcm9i\nYWJpbGl0aWVzIGJldHdlZW4gd2ViIHBhZ2UgZWxlbWVudHMsIGRldGVjdGlu\nZyBwYXR0ZXJucyBpbiBzY2FucGF0aHMgYW5kIGlkZW50aWZ5aW5nIGNvbW1v\nbiBzY2FucGF0aHMuIFRoZSBzY2FucGF0aCBhbmFseXNpcyB0ZWNobmlxdWVz\nIGFyZSBjbGFzc2lmaWVkIGludG8gZm91ciBncm91cHMgYnkgdGhlaXIgZ29h\nbHMgc28gdGhhdCByZXNlYXJjaGVycyBjYW4gZGlyZWN0bHkgZm9jdXMgb24g\ndGhlIGFwcHJvcHJpYXRlIHRlY2huaXF1ZXMgZm9yIGEgc2VxdWVudGlhbCBh\nbmFseXNpcyBvZiB1c2VyIHNjYW5wYXRocyBvbiB3ZWIgcGFnZXMuIFRoaXMg\nYXJ0aWNsZSBhbHNvIHN1Z2dlc3RzIGRlYWxpbmcgd2l0aCB0aGUgbGltaXRh\ndGlvbnMgb2YgdGhlc2UgdGVjaG5pcXVlcyBieSBwcmUtcHJvY2Vzc2luZyBl\neWUgdHJhY2tpbmcgZGF0YSwgY29uc2lkZXJpbmcgY29nbml0aXZlIHByb2Nl\nc3NpbmcgYW5kIGFkZHJlc3NpbmcgdGhlaXIgcmVkdWN0aW9uaXN0IGFwcHJv\nYWNoLjwvZGVzY3JpcHRpb24+PC9kZXNjcmlwdGlvbnM+PC9yZXNvdXJjZT4=\n","published":"2015","registered":"2016-02-22T14:43:13.000Z","updated":"2016-06-09T13:32:43.000Z"},"relationships":{"client":{"data":{"id":"ethz.bopjemr","type":"clients"}},"provider":{"data":{"id":"ethz","type":"providers"}},"resource-type":{"meta":{}},"media":{"meta":{}}}},"included":[{"id":"ethz.bopjemr","type":"clients","attributes":{"name":"BOP:
85
+ JEMR","symbol":"ETHZ.BOPJEMR","year":2016,"contact-name":"ETH-Bibliothek,
86
+ Barbara Hirschmann","contact-email":"doi@library.ethz.ch","domains":"bop.unibe.ch","is-active":true,"password":"yes","created":"2016-02-22T14:40:17Z","updated":"2017-11-07T17:10:02Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"ethz","type":"providers","attributes":{"name":"ETH
87
+ Zurich","symbol":"ETHZ","year":2010,"contact-name":"Barbara Hirschmann","contact-email":"barbara.hirschmann@library.ethz.ch","logo-url":"https://assets.datacite.org/images/members/ethz.png","is-active":true,"password":"yes","created":"2010-01-01T00:00:00.000Z","updated":"2017-11-07T17:08:27.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}}]}'
88
+ http_version:
89
+ recorded_at: Fri, 15 Dec 2017 14:26:50 GMT
90
+ recorded_with: VCR 3.0.3
@@ -146,8 +146,7 @@ describe Bolognese::Metadata, vcr: true do
146
146
  expect(subject.valid?).to be true
147
147
  expect(subject.id).to eq("https://doi.org/10.7910/dvn/eqtqyo")
148
148
  expect(subject.type).to eq("Dataset")
149
- expect(subject.author.length).to eq(3)
150
- expect(subject.author.first).to eq("type"=>"Person", "name"=>"Ryan Enos", "givenName"=>"Ryan", "familyName"=>"Enos")
149
+ expect(subject.author).to eq("name" => "Enos, Ryan (Harvard University); Fowler, Anthony (University Of Chicago); Vavreck, Lynn (UCLA)")
151
150
  end
152
151
 
153
152
  it "author with scheme" do
@@ -109,5 +109,19 @@ describe Bolognese::Metadata, vcr: true do
109
109
  expect(bibtex[:keywords]).to eq("datacite, doi, metadata, featured")
110
110
  expect(bibtex[:year]).to eq("2016")
111
111
  end
112
+
113
+ it "authors with affiliations" do
114
+ input = "10.16910/jemr.9.1.2"
115
+ subject = Bolognese::Metadata.new(input: input, from: "datacite")
116
+ bibtex = BibTeX.parse(subject.bibtex).to_a(quotes: '').first
117
+ expect(bibtex[:bibtex_type].to_s).to eq("misc")
118
+ expect(bibtex[:bibtex_key]).to eq("https://doi.org/10.16910/jemr.9.1.2")
119
+ expect(bibtex[:doi]).to eq("10.16910/jemr.9.1.2")
120
+ expect(bibtex[:title]).to eq("Eye tracking scanpath analysis techniques on web pages: A survey, evaluation and comparison")
121
+ expect(bibtex[:author]).to eq("{Eraslan, Sukru; University Of Manchester, UK, & Middle East Technical University, Northern Cyprus Campus, Kalkanli, Guzelyurt, Turkey} and {Yesilada, Yeliz; Middle East Technical University, Northern Cyprus Campus, 99738 Kalkanli, Guzelyurt, Mersin 10, Turkey} and {Harper, Simon; School Of Computer Science, University Of Manchester, Manchester, United Kingdom}")
122
+ expect(bibtex[:publisher]).to eq("eyemovement.org")
123
+ expect(bibtex[:keywords]).to eq("eye tracking; eye movements; scanpaths; eye movement sequence; web pages; visual elements; web pages; scanpath analysis techniques; scanpath analysis; pattern detection; common scanpaths")
124
+ expect(bibtex[:year]).to eq("2015")
125
+ end
112
126
  end
113
127
  end
@@ -26,8 +26,7 @@ describe Bolognese::Metadata, vcr: true do
26
26
  expect(json["@id"]).to eq("https://doi.org/10.5063/f1m61h5x")
27
27
  expect(json["@type"]).to eq("SoftwareSourceCode")
28
28
  expect(json["identifier"]).to eq("https://doi.org/10.5063/f1m61h5x")
29
- expect(json["agents"].length).to eq(9)
30
- expect(json["agents"].first).to eq("type"=>"Person", "name"=>"Matthew B. Jones", "givenName"=>"Matthew B.", "familyName"=>"Jones")
29
+ expect(json["agents"]).to eq("name"=>"Jones, Matthew B.; Slaughter, Peter; Nahf, Rob; Boettiger, Carl ; Jones, Chris; Read, Jordan; Walker, Lauren; Hart, Edmund; Chamberlain, Scott")
31
30
  expect(json["title"]).to eq("dataone: R interface to the DataONE network of data repositories")
32
31
  expect(json["datePublished"]).to eq("2016")
33
32
  expect(json["publisher"]).to eq("KNB Data Repository")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bolognese
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.64
4
+ version: 0.9.65
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-24 00:00:00.000000000 Z
11
+ date: 2017-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: maremma
@@ -686,6 +686,7 @@ files:
686
686
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml
687
687
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml
688
688
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml
689
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation_and_country.yml
689
690
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml
690
691
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml
691
692
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml
@@ -772,6 +773,7 @@ files:
772
773
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml
773
774
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml
774
775
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml
776
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml
775
777
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml
776
778
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml
777
779
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml
@@ -881,7 +883,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
881
883
  version: '0'
882
884
  requirements: []
883
885
  rubyforge_project:
884
- rubygems_version: 2.7.2
886
+ rubygems_version: 2.7.3
885
887
  signing_key:
886
888
  specification_version: 4
887
889
  summary: Ruby client library for conversion of DOI Metadata