rdf-mongo 1.1.0 → 1.99.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/VERSION +1 -1
- data/lib/rdf/mongo.rb +23 -19
- metadata +44 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7e3195ca4d5d5ad17d35bd15054f50cd7c9bff23
|
4
|
+
data.tar.gz: c1974fdf7ed3ed53c454b34dbdb64332037eaaf0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55b5d27957f3005d8baaf891ba5782da2be7f1a3d7ff313c8e9d76bdf57618ee8bce5d14bfd411317965deb2c0cf0aebbdff0d000135a8df405c3f494d30e82e
|
7
|
+
data.tar.gz: 74fa5f4c341246983df4b01c1dee4698d0b6298ba52fa19f6370d20e688bf9a6fc133399529a24725c1b9db88f45af79f579ce4230cda3a4cc65128b2aa4c4b4
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.99.0
|
data/lib/rdf/mongo.rb
CHANGED
@@ -14,17 +14,17 @@ module RDF
|
|
14
14
|
end
|
15
15
|
|
16
16
|
##
|
17
|
-
# Create BSON for a statement representation. Note that if the statement has no
|
17
|
+
# Create BSON for a statement representation. Note that if the statement has no graph name,
|
18
18
|
# a value of `false` will be used to indicate the default context
|
19
19
|
#
|
20
20
|
# @param [RDF::Statement] statement
|
21
21
|
# @return [Hash] Generated BSON representation of statement.
|
22
22
|
def self.from_mongo(statement)
|
23
23
|
RDF::Statement.new(
|
24
|
-
:
|
25
|
-
:
|
26
|
-
:
|
27
|
-
:
|
24
|
+
subject: RDF::Mongo::Conversion.from_mongo(statement['s'], statement['st'], statement['sl']),
|
25
|
+
predicate: RDF::Mongo::Conversion.from_mongo(statement['p'], statement['pt'], statement['pl']),
|
26
|
+
object: RDF::Mongo::Conversion.from_mongo(statement['o'], statement['ot'], statement['ol']),
|
27
|
+
graph_name: RDF::Mongo::Conversion.from_mongo(statement['c'], statement['ct'], statement['cl']))
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
@@ -37,9 +37,9 @@ module RDF
|
|
37
37
|
#
|
38
38
|
# @param [RDF::Value, Symbol, false, nil] value
|
39
39
|
# URI, BNode or Literal. May also be a Variable or Symbol to indicate
|
40
|
-
# a pattern for a named
|
40
|
+
# a pattern for a named graph, or `false` to indicate the default graph.
|
41
41
|
# A value of `nil` indicates a pattern that matches any value.
|
42
|
-
# @param [:subject, :predicate, :object, :
|
42
|
+
# @param [:subject, :predicate, :object, :graph_name] place_in_statement
|
43
43
|
# Position within statement.
|
44
44
|
# @return [Hash] BSON representation of the statement
|
45
45
|
def self.to_mongo(value, place_in_statement)
|
@@ -76,7 +76,7 @@ module RDF
|
|
76
76
|
t, k1, lt = :pt, :p, :pl
|
77
77
|
when :object
|
78
78
|
t, k1, lt = :ot, :o, :ol
|
79
|
-
when :
|
79
|
+
when :graph_name
|
80
80
|
t, k1, lt = :ct, :c, :cl
|
81
81
|
end
|
82
82
|
h = {k1 => v, t => k, lt => ll}
|
@@ -92,9 +92,9 @@ module RDF
|
|
92
92
|
when :u
|
93
93
|
RDF::URI.intern(value)
|
94
94
|
when :ll
|
95
|
-
RDF::Literal.new(value, :
|
95
|
+
RDF::Literal.new(value, language: literal_extra.to_sym)
|
96
96
|
when :lt
|
97
|
-
RDF::Literal.new(value, :
|
97
|
+
RDF::Literal.new(value, datatype: RDF::URI.intern(literal_extra))
|
98
98
|
when :l
|
99
99
|
RDF::Literal.new(value)
|
100
100
|
when :n
|
@@ -126,12 +126,15 @@ module RDF
|
|
126
126
|
# @option options [String] :host
|
127
127
|
# @option options [Integer] :port
|
128
128
|
# @option options [String] :db
|
129
|
+
# @option options [String] :user for authentication
|
130
|
+
# @option options [String] :password for authentication
|
129
131
|
# @option options [String] :collection ('quads')
|
130
132
|
# @yield [repository]
|
131
133
|
# @yieldparam [Repository] repository
|
132
134
|
def initialize(options = {}, &block)
|
133
|
-
options = {:
|
135
|
+
options = {host: 'localhost', port: 27017, db: 'quadb', collection: 'quads'}.merge(options)
|
134
136
|
@db = ::Mongo::Connection.new(options[:host], options[:port]).db(options[:db])
|
137
|
+
@db.authenticate(options[:user], options[:password]) if options[:user] && options[:password]
|
135
138
|
@coll = @db[options[:collection]]
|
136
139
|
@coll.create_index("s")
|
137
140
|
@coll.create_index("p")
|
@@ -146,21 +149,22 @@ module RDF
|
|
146
149
|
# @see RDF::Mutable#insert_statement
|
147
150
|
def supports?(feature)
|
148
151
|
case feature.to_sym
|
149
|
-
when :
|
152
|
+
when :graph_name then true
|
150
153
|
else false
|
151
154
|
end
|
152
155
|
end
|
153
156
|
|
154
157
|
def insert_statement(statement)
|
158
|
+
raise ArgumentError, "Statement #{statement.inspect} is incomplete" if statement.incomplete?
|
155
159
|
st_mongo = statement.to_mongo
|
156
|
-
st_mongo[:ct] ||= :default # Indicate statement is in the default
|
160
|
+
st_mongo[:ct] ||= :default # Indicate statement is in the default graph
|
157
161
|
#puts "insert statement: #{st_mongo.inspect}"
|
158
|
-
@coll.update(st_mongo, st_mongo, :
|
162
|
+
@coll.update(st_mongo, st_mongo, upsert: true)
|
159
163
|
end
|
160
164
|
|
161
165
|
# @see RDF::Mutable#delete_statement
|
162
166
|
def delete_statement(statement)
|
163
|
-
case statement.
|
167
|
+
case statement.graph_name
|
164
168
|
when nil
|
165
169
|
@coll.remove(statement.to_mongo.merge('ct'=>:default))
|
166
170
|
else
|
@@ -213,8 +217,8 @@ module RDF
|
|
213
217
|
|
214
218
|
##
|
215
219
|
# @private
|
216
|
-
# @see RDF::Enumerable#
|
217
|
-
def
|
220
|
+
# @see RDF::Enumerable#has_graph?
|
221
|
+
def has_graph?(value)
|
218
222
|
!!@coll.find_one(RDF::Mongo::Conversion.to_mongo(value, :context))
|
219
223
|
end
|
220
224
|
|
@@ -227,9 +231,9 @@ module RDF
|
|
227
231
|
def query_pattern(pattern, &block)
|
228
232
|
@nodes = {} # reset cache. FIXME this should probably be in Node.intern
|
229
233
|
|
230
|
-
# A pattern
|
234
|
+
# A pattern graph_name of `false` is used to indicate the default graph
|
231
235
|
pm = pattern.to_mongo
|
232
|
-
pm.merge!(:
|
236
|
+
pm.merge!(c: nil, ct: :default) if pattern.graph_name == false
|
233
237
|
#puts "query using #{pm.inspect}"
|
234
238
|
@coll.find(pm) do |cursor|
|
235
239
|
cursor.each do |data|
|
metadata
CHANGED
@@ -1,97 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdf-mongo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.99.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pius Uzamere
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rdf
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.99'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
26
|
+
version: '1.99'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: mongo
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: '1.10'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.
|
40
|
+
version: '1.10'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rdf-spec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1.
|
47
|
+
version: '1.99'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1.
|
54
|
+
version: '1.99'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: '3.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: '3.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec-its
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: yard
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - "~>"
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.8
|
89
|
+
version: '0.8'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.8
|
96
|
+
version: '0.8'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: bson_ext
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - ">="
|
88
102
|
- !ruby/object:Gem::Version
|
89
103
|
version: '0'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- -
|
108
|
+
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
97
111
|
description: rdf-mongo is a storage adapter for integrating MongoDB and rdf.rb, a
|
@@ -102,10 +116,10 @@ extensions: []
|
|
102
116
|
extra_rdoc_files: []
|
103
117
|
files:
|
104
118
|
- LICENSE
|
105
|
-
- VERSION
|
106
119
|
- README.md
|
107
|
-
-
|
120
|
+
- VERSION
|
108
121
|
- lib/rdf/mongo.rb
|
122
|
+
- lib/rdf/mongo/version.rb
|
109
123
|
homepage: http://ruby-rdf.github.com/rdf-mongo
|
110
124
|
licenses:
|
111
125
|
- MIT License
|
@@ -116,17 +130,17 @@ require_paths:
|
|
116
130
|
- lib
|
117
131
|
required_ruby_version: !ruby/object:Gem::Requirement
|
118
132
|
requirements:
|
119
|
-
- -
|
133
|
+
- - ">="
|
120
134
|
- !ruby/object:Gem::Version
|
121
|
-
version: 1.9.
|
135
|
+
version: 1.9.3
|
122
136
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
137
|
requirements:
|
124
|
-
- -
|
138
|
+
- - ">="
|
125
139
|
- !ruby/object:Gem::Version
|
126
140
|
version: '0'
|
127
141
|
requirements: []
|
128
142
|
rubyforge_project:
|
129
|
-
rubygems_version: 2.1
|
143
|
+
rubygems_version: 2.4.5.1
|
130
144
|
signing_key:
|
131
145
|
specification_version: 4
|
132
146
|
summary: A storage adapter for integrating MongoDB and rdf.rb, a Ruby library for
|