marc2linkeddata 0.0.7 → 0.1.0
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 +4 -4
- data/.env_example +52 -27
- data/README.md +33 -2
- data/bin/marcAuthority2LD +131 -40
- data/bin/run_test_data.sh +68 -0
- data/lib/includes.rb +44 -0
- data/lib/marc2linkeddata.rb +1 -29
- data/lib/marc2linkeddata/cap.rb +15 -0
- data/lib/marc2linkeddata/cap_db.rb +44 -0
- data/lib/marc2linkeddata/configuration.rb +5 -0
- data/lib/marc2linkeddata/loc.rb +5 -1
- data/lib/marc2linkeddata/parseMarcAuthority.rb +333 -89
- data/lib/marc2linkeddata/sparql.rb +4 -37
- data/lib/marc2linkeddata/sparql_dbpedia.rb +22 -0
- data/lib/marc2linkeddata/sparql_local_loc.rb +29 -0
- data/lib/marc2linkeddata/sparql_pubmed.rb +2 -4
- data/log/.gitignore +4 -0
- data/marc2linkeddata.gemspec +11 -2
- metadata +67 -3
@@ -1,49 +1,16 @@
|
|
1
|
-
require 'base64'
|
2
1
|
|
3
2
|
module Marc2LinkedData
|
4
3
|
|
5
4
|
class Sparql
|
6
5
|
|
7
|
-
|
6
|
+
attr_reader :sparql
|
8
7
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
def initialize
|
14
|
-
config = Marc2LinkedData.configuration
|
15
|
-
@dbpedia = SPARQL::Client.new('http://dbpedia.org/sparql')
|
16
|
-
# local LOC SPARQL client
|
17
|
-
auth_code = Base64.encode64("#{config.local_loc_user}:#{config.local_loc_pass}").chomp
|
18
|
-
headers = {
|
19
|
-
'Accept' => 'application/sparql-results+json',
|
20
|
-
'Authorization' => "Basic #{auth_code}",
|
21
|
-
}
|
22
|
-
@local_loc = SPARQL::Client.new(config.local_loc_url, {headers: headers} )
|
23
|
-
end
|
24
|
-
|
25
|
-
def local_loc_auth(auth_uri)
|
26
|
-
result = local_loc.query("SELECT * WHERE { <#{auth_uri}> ?p ?o }")
|
27
|
-
result.each_solution {|s| puts s.inspect }
|
28
|
-
binding.pry
|
8
|
+
def initialize(uri)
|
9
|
+
# https://github.com/ruby-rdf/sparql-client
|
10
|
+
@sparql = SPARQL::Client.new(uri)
|
29
11
|
end
|
30
12
|
|
31
|
-
# def sparql_dbpedia(query)
|
32
|
-
# dbpedia.query(query)
|
33
|
-
# # result = dbpedia.query('ASK WHERE { ?s ?p ?o }')
|
34
|
-
# # puts result.inspect #=> true or false
|
35
|
-
# # result = dbpedia.query('SELECT * WHERE { ?s ?p ?o } LIMIT 10')
|
36
|
-
# # result.each_solution {|s| puts s.inspect }
|
37
|
-
# end
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
13
|
end
|
46
14
|
|
47
15
|
end
|
48
16
|
|
49
|
-
|
@@ -0,0 +1,22 @@
|
|
1
|
+
|
2
|
+
module Marc2LinkedData
|
3
|
+
|
4
|
+
class SparqlDbpedia < Sparql
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
super('http://dbpedia.org/sparql')
|
8
|
+
end
|
9
|
+
|
10
|
+
# def sparql_dbpedia(query)
|
11
|
+
# dbpedia.query(query)
|
12
|
+
# # result = dbpedia.query('ASK WHERE { ?s ?p ?o }')
|
13
|
+
# # puts result.inspect #=> true or false
|
14
|
+
# # result = dbpedia.query('SELECT * WHERE { ?s ?p ?o } LIMIT 10')
|
15
|
+
# # result.each_solution {|s| puts s.inspect }
|
16
|
+
# end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'base64'
|
2
|
+
|
3
|
+
module Marc2LinkedData
|
4
|
+
|
5
|
+
class SparqlLocalLoc < Sparql
|
6
|
+
|
7
|
+
def initialize(uri)
|
8
|
+
config = Marc2LinkedData.configuration
|
9
|
+
uri = config.local_loc_url
|
10
|
+
# local LOC SPARQL client
|
11
|
+
auth_code = Base64.encode64("#{config.local_loc_user}:#{config.local_loc_pass}").chomp
|
12
|
+
headers = {
|
13
|
+
'Accept' => 'application/sparql-results+json',
|
14
|
+
'Authorization' => "Basic #{auth_code}",
|
15
|
+
}
|
16
|
+
@sparql = SPARQL::Client.new(uri, {headers: headers} )
|
17
|
+
end
|
18
|
+
|
19
|
+
def auth(auth_uri)
|
20
|
+
result = @sparql.query("SELECT * WHERE { <#{auth_uri}> ?p ?o }")
|
21
|
+
result.each_solution {|s| puts s.inspect }
|
22
|
+
binding.pry
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
|
@@ -2,13 +2,11 @@ require 'base64'
|
|
2
2
|
|
3
3
|
module Marc2LinkedData
|
4
4
|
|
5
|
-
class SparqlPubmed
|
6
|
-
|
7
|
-
attr_reader :sparql
|
5
|
+
class SparqlPubmed < Sparql
|
8
6
|
|
9
7
|
def initialize
|
10
8
|
# config = Marc2LinkedData.configuration
|
11
|
-
|
9
|
+
super('http://pubmed.bio2rdf.org/sparql')
|
12
10
|
end
|
13
11
|
|
14
12
|
# http://bio2rdf.org/pubmed_vocabulary:Author
|
data/log/.gitignore
ADDED
data/marc2linkeddata.gemspec
CHANGED
@@ -4,24 +4,31 @@ $:.unshift lib unless $:.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = 'marc2linkeddata'
|
7
|
-
s.version = '0.0
|
7
|
+
s.version = '0.1.0'
|
8
8
|
s.licenses = ['Apache-2.0']
|
9
9
|
|
10
|
+
# mysql and bson_ext only install on MRI (c-ruby)
|
10
11
|
s.platform = Gem::Platform::RUBY
|
12
|
+
|
11
13
|
s.authors = ['Darren Weber',]
|
12
14
|
s.email = ['dlweber@stanford.edu']
|
13
15
|
s.summary = 'Convert Marc21 records to linked data, for use in SUL/DLSS projects'
|
14
16
|
s.description = 'Utilities for translation of Marc21 records to linked open data.'
|
15
17
|
s.homepage = 'https://github.com/darrenleeweber/marc2linkeddata'
|
16
18
|
|
17
|
-
s.required_rubygems_version = '>= 1.3.6'
|
19
|
+
#s.required_rubygems_version = '>= 1.3.6'
|
18
20
|
# s.required_ruby_version = '>= 2.1.0'
|
19
21
|
|
20
22
|
s.add_dependency 'addressable'
|
21
23
|
s.add_dependency 'linkeddata'
|
22
24
|
s.add_dependency 'marc'
|
25
|
+
s.add_dependency 'restclient'
|
23
26
|
s.add_dependency 'ruby-progressbar'
|
24
27
|
|
28
|
+
# DB clients
|
29
|
+
s.add_dependency 'mysql' # not for jruby
|
30
|
+
s.add_dependency 'sequel'
|
31
|
+
|
25
32
|
# Use ENV for config
|
26
33
|
s.add_dependency 'dotenv'
|
27
34
|
|
@@ -30,7 +37,9 @@ Gem::Specification.new do |s|
|
|
30
37
|
# ruby gem for RDF on allegrograph, see https://github.com/emk/rdf-agraph
|
31
38
|
s.add_dependency 'rdf-agraph'
|
32
39
|
# ruby gem for RDF on mongodb, see https://rubygems.org/gems/rdf-mongo
|
40
|
+
s.add_dependency 'bson_ext' # not for jruby
|
33
41
|
s.add_dependency 'rdf-mongo'
|
42
|
+
|
34
43
|
# cache simple RDF on redis
|
35
44
|
s.add_dependency 'hiredis'
|
36
45
|
s.add_dependency 'redis'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marc2linkeddata
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darren Weber
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: restclient
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: ruby-progressbar
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +80,34 @@ dependencies:
|
|
66
80
|
- - ">="
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: mysql
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: sequel
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
69
111
|
- !ruby/object:Gem::Dependency
|
70
112
|
name: dotenv
|
71
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +150,20 @@ dependencies:
|
|
108
150
|
- - ">="
|
109
151
|
- !ruby/object:Gem::Version
|
110
152
|
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: bson_ext
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
111
167
|
- !ruby/object:Gem::Dependency
|
112
168
|
name: rdf-mongo
|
113
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -203,6 +259,7 @@ executables:
|
|
203
259
|
- marc2LD_config
|
204
260
|
- marc2LD_console
|
205
261
|
- marcAuthority2LD
|
262
|
+
- run_test_data.sh
|
206
263
|
extensions: []
|
207
264
|
extra_rdoc_files: []
|
208
265
|
files:
|
@@ -219,7 +276,11 @@ files:
|
|
219
276
|
- bin/marc2LD_config
|
220
277
|
- bin/marc2LD_console
|
221
278
|
- bin/marcAuthority2LD
|
279
|
+
- bin/run_test_data.sh
|
280
|
+
- lib/includes.rb
|
222
281
|
- lib/marc2linkeddata.rb
|
282
|
+
- lib/marc2linkeddata/cap.rb
|
283
|
+
- lib/marc2linkeddata/cap_db.rb
|
223
284
|
- lib/marc2linkeddata/configuration.rb
|
224
285
|
- lib/marc2linkeddata/isni.rb
|
225
286
|
- lib/marc2linkeddata/lib_auth.rb
|
@@ -232,8 +293,11 @@ files:
|
|
232
293
|
- lib/marc2linkeddata/readMarcCatalog.rb
|
233
294
|
- lib/marc2linkeddata/resource.rb
|
234
295
|
- lib/marc2linkeddata/sparql.rb
|
296
|
+
- lib/marc2linkeddata/sparql_dbpedia.rb
|
297
|
+
- lib/marc2linkeddata/sparql_local_loc.rb
|
235
298
|
- lib/marc2linkeddata/sparql_pubmed.rb
|
236
299
|
- lib/marc2linkeddata/viaf.rb
|
300
|
+
- log/.gitignore
|
237
301
|
- marc2linkeddata.gemspec
|
238
302
|
- spec/marc2linkeddata/configuration_spec.rb
|
239
303
|
- spec/marc2linkeddata/loc_spec.rb
|
@@ -258,7 +322,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
258
322
|
requirements:
|
259
323
|
- - ">="
|
260
324
|
- !ruby/object:Gem::Version
|
261
|
-
version:
|
325
|
+
version: '0'
|
262
326
|
requirements: []
|
263
327
|
rubyforge_project:
|
264
328
|
rubygems_version: 2.4.5
|