bolognese 0.9.64 → 0.9.65

Sign up to get free protection for your applications and to get access to all the features.
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