rdf 0.2.1 → 0.2.2
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.
- data/CONTRIBUTORS +1 -0
- data/README +7 -0
- data/VERSION +1 -1
- data/etc/doap.nt +14 -6
- data/lib/rdf/mixin/queryable.rb +1 -6
- data/lib/rdf/mixin/writable.rb +2 -7
- data/lib/rdf/model/graph.rb +16 -14
- data/lib/rdf/model/literal.rb +1 -1
- data/lib/rdf/model/literal/boolean.rb +1 -1
- data/lib/rdf/model/literal/date.rb +1 -1
- data/lib/rdf/model/literal/datetime.rb +1 -1
- data/lib/rdf/model/literal/decimal.rb +1 -1
- data/lib/rdf/model/literal/double.rb +1 -1
- data/lib/rdf/model/literal/integer.rb +1 -1
- data/lib/rdf/model/literal/time.rb +1 -1
- data/lib/rdf/model/statement.rb +12 -0
- data/lib/rdf/ntriples.rb +22 -0
- data/lib/rdf/query/pattern.rb +18 -3
- data/lib/rdf/reader.rb +7 -0
- data/lib/rdf/repository.rb +20 -0
- data/lib/rdf/version.rb +1 -1
- data/lib/rdf/vocab.rb +2 -0
- data/lib/rdf/writer.rb +33 -0
- metadata +5 -6
- data/lib/rdf/vocab/rdf.rb +0 -15
data/CONTRIBUTORS
CHANGED
data/README
CHANGED
|
@@ -124,6 +124,7 @@ Documentation
|
|
|
124
124
|
|
|
125
125
|
### RDF Vocabularies
|
|
126
126
|
|
|
127
|
+
* {RDF} - Resource Description Framework (RDF)
|
|
127
128
|
* {RDF::CC} - Creative Commons (CC)
|
|
128
129
|
* {RDF::CERT} - W3 Authentication Certificate (CERT)
|
|
129
130
|
* {RDF::DC} - Dublin Core (DC)
|
|
@@ -180,6 +181,11 @@ Resources
|
|
|
180
181
|
* <http://raa.ruby-lang.org/project/rdf/>
|
|
181
182
|
* <http://www.ohloh.net/p/rdf>
|
|
182
183
|
|
|
184
|
+
Mailing List
|
|
185
|
+
------------
|
|
186
|
+
|
|
187
|
+
* <http://lists.w3.org/Archives/Public/public-rdf-ruby/>
|
|
188
|
+
|
|
183
189
|
Authors
|
|
184
190
|
-------
|
|
185
191
|
|
|
@@ -189,6 +195,7 @@ Authors
|
|
|
189
195
|
Contributors
|
|
190
196
|
------------
|
|
191
197
|
|
|
198
|
+
* [Fumihiro Kato](mailto:fumi@fumi.me) - <http://fumi.me/>
|
|
192
199
|
* [Gregg Kellogg](mailto:gregg@kellogg-assoc.com) - <http://kellogg-assoc.com/>
|
|
193
200
|
* [Hellekin O. Wolf](mailto:hellekin@cepheide.org) - <http://hellekin.cepheide.org/>
|
|
194
201
|
* [John Fieber](mailto:jrf@ursamaris.org) - <http://github.com/jfieber>
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.2.
|
|
1
|
+
0.2.2
|
data/etc/doap.nt
CHANGED
|
@@ -27,6 +27,8 @@
|
|
|
27
27
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#helper> _:genid1 .
|
|
28
28
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#helper> _:genid2 .
|
|
29
29
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#helper> _:genid3 .
|
|
30
|
+
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#helper> _:genid4 .
|
|
31
|
+
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#helper> _:genid5 .
|
|
30
32
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#homepage> <http://rdf.rubyforge.org/> .
|
|
31
33
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#license> <http://creativecommons.org/licenses/publicdomain/> .
|
|
32
34
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#maintainer> <http://ar.to/#self> .
|
|
@@ -37,11 +39,17 @@
|
|
|
37
39
|
<http://rubygems.org/gems/rdf> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://usefulinc.com/ns/doap#Project> .
|
|
38
40
|
<http://rubygems.org/gems/rdf> <http://xmlns.com/foaf/0.1/maker> <http://ar.to/#self> .
|
|
39
41
|
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
|
|
40
|
-
_:genid1 <http://xmlns.com/foaf/0.1/mbox_sha1sum> "
|
|
41
|
-
_:genid1 <http://xmlns.com/foaf/0.1/name> "
|
|
42
|
+
_:genid1 <http://xmlns.com/foaf/0.1/mbox_sha1sum> "d31fdd6af7a279a89bf09fdc9f7c44d9d08bb930" .
|
|
43
|
+
_:genid1 <http://xmlns.com/foaf/0.1/name> "Fumihiro Kato" .
|
|
42
44
|
_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
|
|
43
|
-
_:genid2 <http://xmlns.com/foaf/0.1/mbox_sha1sum> "
|
|
44
|
-
_:genid2 <http://xmlns.com/foaf/0.1/name> "
|
|
45
|
+
_:genid2 <http://xmlns.com/foaf/0.1/mbox_sha1sum> "35bc44e6d0070e5ad50ccbe0d24403c96af2b9bd" .
|
|
46
|
+
_:genid2 <http://xmlns.com/foaf/0.1/name> "Gregg Kellogg" .
|
|
45
47
|
_:genid3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
|
|
46
|
-
_:genid3 <http://xmlns.com/foaf/0.1/mbox_sha1sum> "
|
|
47
|
-
_:genid3 <http://xmlns.com/foaf/0.1/name> "
|
|
48
|
+
_:genid3 <http://xmlns.com/foaf/0.1/mbox_sha1sum> "c69f3255ff0639543cc5edfd8116eac8df16fab8" .
|
|
49
|
+
_:genid3 <http://xmlns.com/foaf/0.1/name> "Hellekin O. Wolf" .
|
|
50
|
+
_:genid4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
|
|
51
|
+
_:genid4 <http://xmlns.com/foaf/0.1/mbox_sha1sum> "f7653fc1ac0e82ebb32f092389bd5fc728eaae12" .
|
|
52
|
+
_:genid4 <http://xmlns.com/foaf/0.1/name> "John Fieber" .
|
|
53
|
+
_:genid5 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
|
|
54
|
+
_:genid5 <http://xmlns.com/foaf/0.1/mbox_sha1sum> "bedbbf2451e5beb38d59687c0460032aff92cd3c" .
|
|
55
|
+
_:genid5 <http://xmlns.com/foaf/0.1/name> "Pius Uzamere" .
|
data/lib/rdf/mixin/queryable.rb
CHANGED
|
@@ -32,12 +32,7 @@ module RDF
|
|
|
32
32
|
when Query
|
|
33
33
|
pattern.execute(self, &block)
|
|
34
34
|
else
|
|
35
|
-
pattern =
|
|
36
|
-
when Query::Pattern, Statement then pattern
|
|
37
|
-
when Array then Query::Pattern.new(*pattern)
|
|
38
|
-
when Hash then Query::Pattern.new(pattern)
|
|
39
|
-
else raise ArgumentError.new("expected RDF::Query, RDF::Query::Pattern, Array, or Hash, but got #{pattern.inspect}")
|
|
40
|
-
end
|
|
35
|
+
pattern = Query::Pattern.from(pattern)
|
|
41
36
|
|
|
42
37
|
if block_given?
|
|
43
38
|
query_pattern(pattern, &block)
|
data/lib/rdf/mixin/writable.rb
CHANGED
|
@@ -126,14 +126,9 @@ module RDF
|
|
|
126
126
|
#
|
|
127
127
|
# @param [RDF::Statement, Hash, Array, #to_a] statement
|
|
128
128
|
# @return [RDF::Statement]
|
|
129
|
+
# @deprecated
|
|
129
130
|
def create_statement(statement)
|
|
130
|
-
|
|
131
|
-
case statement
|
|
132
|
-
when Statement then statement
|
|
133
|
-
when Hash then Statement.new(statement)
|
|
134
|
-
when Array then Statement.new(*statement)
|
|
135
|
-
else raise ArgumentError.new # FIXME
|
|
136
|
-
end
|
|
131
|
+
Statement.from(statement)
|
|
137
132
|
end
|
|
138
133
|
|
|
139
134
|
protected :insert_statements
|
data/lib/rdf/model/graph.rb
CHANGED
|
@@ -195,11 +195,17 @@ module RDF
|
|
|
195
195
|
end
|
|
196
196
|
|
|
197
197
|
##
|
|
198
|
-
#
|
|
199
|
-
#
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
198
|
+
# @private
|
|
199
|
+
# @see RDF::Queryable#query
|
|
200
|
+
def query_pattern(pattern, &block)
|
|
201
|
+
pattern = pattern.dup
|
|
202
|
+
pattern.context = context
|
|
203
|
+
@data.query(pattern, &block)
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
##
|
|
207
|
+
# @private
|
|
208
|
+
# @see RDF::Mutable#insert
|
|
203
209
|
def insert_statement(statement)
|
|
204
210
|
statement = statement.dup
|
|
205
211
|
statement.context = context
|
|
@@ -207,11 +213,8 @@ module RDF
|
|
|
207
213
|
end
|
|
208
214
|
|
|
209
215
|
##
|
|
210
|
-
#
|
|
211
|
-
#
|
|
212
|
-
# @param [RDF::Statement] statement
|
|
213
|
-
# @return [void]
|
|
214
|
-
# @see RDF::Mutable#delete
|
|
216
|
+
# @private
|
|
217
|
+
# @see RDF::Mutable#delete
|
|
215
218
|
def delete_statement(statement)
|
|
216
219
|
statement = statement.dup
|
|
217
220
|
statement.context = context
|
|
@@ -219,14 +222,13 @@ module RDF
|
|
|
219
222
|
end
|
|
220
223
|
|
|
221
224
|
##
|
|
222
|
-
#
|
|
223
|
-
#
|
|
224
|
-
# @return [void]
|
|
225
|
-
# @see RDF::Mutable#clear
|
|
225
|
+
# @private
|
|
226
|
+
# @see RDF::Mutable#clear
|
|
226
227
|
def clear_statements
|
|
227
228
|
@data.delete(:context => context)
|
|
228
229
|
end
|
|
229
230
|
|
|
231
|
+
protected :query_pattern
|
|
230
232
|
protected :insert_statement
|
|
231
233
|
protected :delete_statement
|
|
232
234
|
protected :clear_statements
|
data/lib/rdf/model/literal.rb
CHANGED
|
@@ -113,7 +113,7 @@ module RDF
|
|
|
113
113
|
# @option options [URI] :datatype (nil)
|
|
114
114
|
def initialize(value, options = {})
|
|
115
115
|
@object = value
|
|
116
|
-
@string = options[:lexical] if options
|
|
116
|
+
@string = options[:lexical] if options[:lexical]
|
|
117
117
|
@language = options[:language].to_s.to_sym if options[:language]
|
|
118
118
|
@datatype = RDF::URI(options[:datatype]) if options[:datatype]
|
|
119
119
|
end
|
|
@@ -14,7 +14,7 @@ module RDF; class Literal
|
|
|
14
14
|
# @param [Boolean] value
|
|
15
15
|
# @option options [String] :lexical (nil)
|
|
16
16
|
def initialize(value, options = {})
|
|
17
|
-
@datatype = options[:datatype] || DATATYPE
|
|
17
|
+
@datatype = RDF::URI(options[:datatype] || DATATYPE)
|
|
18
18
|
@string = options[:lexical] if options.has_key?(:lexical)
|
|
19
19
|
@string = value if !defined?(@string) && value.is_a?(String)
|
|
20
20
|
@object = case
|
|
@@ -12,7 +12,7 @@ module RDF; class Literal
|
|
|
12
12
|
# @param [Date] value
|
|
13
13
|
# @option options [String] :lexical (nil)
|
|
14
14
|
def initialize(value, options = {})
|
|
15
|
-
@datatype = options[:datatype] || DATATYPE
|
|
15
|
+
@datatype = RDF::URI(options[:datatype] || DATATYPE)
|
|
16
16
|
@string = options[:lexical] if options.has_key?(:lexical)
|
|
17
17
|
@string = value if !defined?(@string) && value.is_a?(String)
|
|
18
18
|
@object = case
|
|
@@ -12,7 +12,7 @@ module RDF; class Literal
|
|
|
12
12
|
# @param [DateTime] value
|
|
13
13
|
# @option options [String] :lexical (nil)
|
|
14
14
|
def initialize(value, options = {})
|
|
15
|
-
@datatype = options[:datatype] || DATATYPE
|
|
15
|
+
@datatype = RDF::URI(options[:datatype] || DATATYPE)
|
|
16
16
|
@string = options[:lexical] if options.has_key?(:lexical)
|
|
17
17
|
@string = value if !defined?(@string) && value.is_a?(String)
|
|
18
18
|
@object = case
|
|
@@ -12,7 +12,7 @@ module RDF; class Literal
|
|
|
12
12
|
# @param [BigDecimal] value
|
|
13
13
|
# @option options [String] :lexical (nil)
|
|
14
14
|
def initialize(value, options = {})
|
|
15
|
-
@datatype = options[:datatype] || DATATYPE
|
|
15
|
+
@datatype = RDF::URI(options[:datatype] || DATATYPE)
|
|
16
16
|
@string = options[:lexical] if options.has_key?(:lexical)
|
|
17
17
|
@string = value if !defined?(@string) && value.is_a?(String)
|
|
18
18
|
@object = case
|
|
@@ -12,7 +12,7 @@ module RDF; class Literal
|
|
|
12
12
|
# @param [Float, #to_f] value
|
|
13
13
|
# @option options [String] :lexical (nil)
|
|
14
14
|
def initialize(value, options = {})
|
|
15
|
-
@datatype = options[:datatype] || DATATYPE
|
|
15
|
+
@datatype = RDF::URI(options[:datatype] || DATATYPE)
|
|
16
16
|
@string = options[:lexical] if options.has_key?(:lexical)
|
|
17
17
|
@string = value if !defined?(@string) && value.is_a?(String)
|
|
18
18
|
@object = case
|
|
@@ -12,7 +12,7 @@ module RDF; class Literal
|
|
|
12
12
|
# @param [Integer, #to_i] value
|
|
13
13
|
# @option options [String] :lexical (nil)
|
|
14
14
|
def initialize(value, options = {})
|
|
15
|
-
@datatype = options[:datatype] || DATATYPE
|
|
15
|
+
@datatype = RDF::URI(options[:datatype] || DATATYPE)
|
|
16
16
|
@string = options[:lexical] if options.has_key?(:lexical)
|
|
17
17
|
@string = value if !defined?(@string) && value.is_a?(String)
|
|
18
18
|
@object = case
|
|
@@ -16,7 +16,7 @@ module RDF; class Literal
|
|
|
16
16
|
# @param [Time] value
|
|
17
17
|
# @option options [String] :lexical (nil)
|
|
18
18
|
def initialize(value, options = {})
|
|
19
|
-
@datatype = options[:datatype] || DATATYPE
|
|
19
|
+
@datatype = RDF::URI(options[:datatype] || DATATYPE)
|
|
20
20
|
@string = options[:lexical] if options.has_key?(:lexical)
|
|
21
21
|
@string = value if !defined?(@string) && value.is_a?(String)
|
|
22
22
|
@object = case
|
data/lib/rdf/model/statement.rb
CHANGED
|
@@ -21,6 +21,18 @@ module RDF
|
|
|
21
21
|
class Statement
|
|
22
22
|
include RDF::Value
|
|
23
23
|
|
|
24
|
+
##
|
|
25
|
+
# @private
|
|
26
|
+
# @since 0.2.2
|
|
27
|
+
def self.from(statement)
|
|
28
|
+
case statement
|
|
29
|
+
when Statement then statement
|
|
30
|
+
when Hash then self.new(statement)
|
|
31
|
+
when Array then self.new(*statement)
|
|
32
|
+
else raise ArgumentError.new("expected RDF::Statement, Hash, or Array, but got #{statement.inspect}")
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
24
36
|
# @return [Object]
|
|
25
37
|
attr_accessor :id
|
|
26
38
|
|
data/lib/rdf/ntriples.rb
CHANGED
|
@@ -49,6 +49,8 @@ module RDF
|
|
|
49
49
|
#
|
|
50
50
|
# @param [String] data
|
|
51
51
|
# @return [RDF::Value]
|
|
52
|
+
# @see RDF::NTriples::Reader.unserialize
|
|
53
|
+
# @since 0.1.5
|
|
52
54
|
def self.unserialize(data)
|
|
53
55
|
Reader.unserialize(data)
|
|
54
56
|
end
|
|
@@ -59,9 +61,29 @@ module RDF
|
|
|
59
61
|
#
|
|
60
62
|
# @param [RDF::Value] value
|
|
61
63
|
# @return [String]
|
|
64
|
+
# @see RDF::NTriples::Writer.serialize
|
|
65
|
+
# @since 0.1.5
|
|
62
66
|
def self.serialize(value)
|
|
63
67
|
Writer.serialize(value)
|
|
64
68
|
end
|
|
69
|
+
|
|
70
|
+
##
|
|
71
|
+
# @param [String] string
|
|
72
|
+
# @return [String]
|
|
73
|
+
# @see RDF::NTriples::Reader.unescape
|
|
74
|
+
# @since 0.2.2
|
|
75
|
+
def self.unescape(string)
|
|
76
|
+
Reader.unescape(string)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
##
|
|
80
|
+
# @param [String] string
|
|
81
|
+
# @return [String]
|
|
82
|
+
# @see RDF::NTriples::Writer.escape
|
|
83
|
+
# @since 0.2.2
|
|
84
|
+
def self.escape(string)
|
|
85
|
+
Writer.escape(string)
|
|
86
|
+
end
|
|
65
87
|
end
|
|
66
88
|
|
|
67
89
|
##
|
data/lib/rdf/query/pattern.rb
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
|
-
class
|
|
1
|
+
module RDF; class Query
|
|
2
2
|
##
|
|
3
3
|
# An RDF query pattern.
|
|
4
4
|
class Pattern < RDF::Statement
|
|
5
|
+
##
|
|
6
|
+
# @private
|
|
7
|
+
# @since 0.2.2
|
|
8
|
+
def self.from(pattern)
|
|
9
|
+
case pattern
|
|
10
|
+
when Pattern then pattern
|
|
11
|
+
when Statement then self.new(pattern.to_hash)
|
|
12
|
+
when Hash then self.new(pattern)
|
|
13
|
+
when Array then self.new(*pattern)
|
|
14
|
+
else raise ArgumentError.new("expected RDF::Query::Pattern, RDF::Statement, Hash, or Array, but got #{pattern.inspect}")
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
5
18
|
# @return [Hash{Symbol => Object}]
|
|
6
19
|
attr_reader :options
|
|
7
20
|
|
|
@@ -11,6 +24,7 @@ class RDF::Query
|
|
|
11
24
|
# @option options [Variable, Resource] :subject (nil)
|
|
12
25
|
# @option options [Variable, URI] :predicate (nil)
|
|
13
26
|
# @option options [Variable, Value] :object (nil)
|
|
27
|
+
# @option options [Variable, Resource] :context (nil)
|
|
14
28
|
# @option options [Boolean] :optional (false)
|
|
15
29
|
#
|
|
16
30
|
# @overload initialize(subject, predicate, object, options = {})
|
|
@@ -18,6 +32,7 @@ class RDF::Query
|
|
|
18
32
|
# @param [Variable, URI] predicate
|
|
19
33
|
# @param [Variable, Value] object
|
|
20
34
|
# @param [Hash{Symbol => Object}] options
|
|
35
|
+
# @option options [Variable, Resource] :context (nil)
|
|
21
36
|
# @option options [Boolean] :optional (false)
|
|
22
37
|
def initialize(subject = nil, predicate = nil, object = nil, options = {})
|
|
23
38
|
super
|
|
@@ -146,5 +161,5 @@ class RDF::Query
|
|
|
146
161
|
buffer.string
|
|
147
162
|
end
|
|
148
163
|
end
|
|
149
|
-
end
|
|
150
|
-
end
|
|
164
|
+
end # class Pattern
|
|
165
|
+
end; end # module RDF class Query
|
data/lib/rdf/reader.rb
CHANGED
data/lib/rdf/repository.rb
CHANGED
|
@@ -234,6 +234,25 @@ module RDF
|
|
|
234
234
|
|
|
235
235
|
protected
|
|
236
236
|
|
|
237
|
+
##
|
|
238
|
+
# @private
|
|
239
|
+
# @see RDF::Queryable#query
|
|
240
|
+
def query_pattern(pattern, &block)
|
|
241
|
+
@data.dup.each do |c, ss|
|
|
242
|
+
next if pattern.has_context? && pattern.context != c
|
|
243
|
+
ss.dup.each do |s, ps|
|
|
244
|
+
next if pattern.has_subject? && pattern.subject != s
|
|
245
|
+
ps.dup.each do |p, os|
|
|
246
|
+
next if pattern.has_predicate? && pattern.predicate != p
|
|
247
|
+
os.dup.each do |o|
|
|
248
|
+
next if pattern.has_object? && pattern.object != o
|
|
249
|
+
block.call(RDF::Statement.new(s, p, o, :context => c))
|
|
250
|
+
end
|
|
251
|
+
end
|
|
252
|
+
end
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
|
|
237
256
|
##
|
|
238
257
|
# @private
|
|
239
258
|
# @see RDF::Mutable#insert
|
|
@@ -267,6 +286,7 @@ module RDF
|
|
|
267
286
|
@data.clear
|
|
268
287
|
end
|
|
269
288
|
|
|
289
|
+
protected :query_pattern
|
|
270
290
|
protected :insert_statement
|
|
271
291
|
protected :delete_statement
|
|
272
292
|
protected :clear_statements
|
data/lib/rdf/version.rb
CHANGED
data/lib/rdf/vocab.rb
CHANGED
|
@@ -6,6 +6,7 @@ module RDF
|
|
|
6
6
|
#
|
|
7
7
|
# The following vocabularies are pre-defined for your convenience:
|
|
8
8
|
#
|
|
9
|
+
# * {RDF} - Resource Description Framework (RDF)
|
|
9
10
|
# * {RDF::CC} - Creative Commons (CC)
|
|
10
11
|
# * {RDF::CERT} - W3 Authentication Certificate (CERT)
|
|
11
12
|
# * {RDF::DC} - Dublin Core (DC)
|
|
@@ -30,6 +31,7 @@ module RDF
|
|
|
30
31
|
#
|
|
31
32
|
# DC.title #=> RDF::URI("http://purl.org/dc/terms/title")
|
|
32
33
|
# FOAF.knows #=> RDF::URI("http://xmlns.com/foaf/0.1/knows")
|
|
34
|
+
# RDF.type #=> RDF::URI("http://www.w3.org/1999/02/22-rdf-syntax-ns#type")
|
|
33
35
|
# RDFS.seeAlso #=> RDF::URI("http://www.w3.org/2000/01/rdf-schema#seeAlso")
|
|
34
36
|
# RSS.title #=> RDF::URI("http://purl.org/rss/1.0/title")
|
|
35
37
|
# OWL.sameAs #=> RDF::URI("http://www.w3.org/2002/07/owl#sameAs")
|
data/lib/rdf/writer.rb
CHANGED
|
@@ -146,6 +146,7 @@ module RDF
|
|
|
146
146
|
##
|
|
147
147
|
# @param [IO, File] output
|
|
148
148
|
# @param [Hash{Symbol => Object}] options
|
|
149
|
+
# @option options [Hash] :prefixes ({})
|
|
149
150
|
# @yield [writer]
|
|
150
151
|
# @yieldparam [RDF::Writer] writer
|
|
151
152
|
def initialize(output = $stdout, options = {}, &block)
|
|
@@ -162,6 +163,38 @@ module RDF
|
|
|
162
163
|
end
|
|
163
164
|
end
|
|
164
165
|
|
|
166
|
+
##
|
|
167
|
+
# Returns the options for this writer.
|
|
168
|
+
#
|
|
169
|
+
# @return [Hash{Symbol => Object}]
|
|
170
|
+
attr_reader :options
|
|
171
|
+
|
|
172
|
+
##
|
|
173
|
+
# Returns the URI prefixes currently defined for this writer.
|
|
174
|
+
#
|
|
175
|
+
# @return [Hash{Symbol => RDF::URI}]
|
|
176
|
+
def prefixes
|
|
177
|
+
options[:prefixes] ||= {}
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
##
|
|
181
|
+
# Defines a named URI prefix for this writer.
|
|
182
|
+
#
|
|
183
|
+
# @overload prefix(name, uri)
|
|
184
|
+
# @param [Symbol, #to_s] name
|
|
185
|
+
# @param [RDF::URI, #to_s] uri
|
|
186
|
+
#
|
|
187
|
+
# @overload prefix(name)
|
|
188
|
+
# @param [Symbol, #to_s] name
|
|
189
|
+
#
|
|
190
|
+
# @return [void]
|
|
191
|
+
def prefix(name, uri = nil)
|
|
192
|
+
name = name.respond_to?(:to_sym) ? name.to_sym : name.to_s.to_sym
|
|
193
|
+
uri.nil? ? prefixes[name] : prefixes[name] = RDF::URI(uri)
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
alias_method :prefix!, :prefix
|
|
197
|
+
|
|
165
198
|
##
|
|
166
199
|
# Flushes the underlying output buffer.
|
|
167
200
|
#
|
metadata
CHANGED
|
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
|
5
5
|
segments:
|
|
6
6
|
- 0
|
|
7
7
|
- 2
|
|
8
|
-
-
|
|
9
|
-
version: 0.2.
|
|
8
|
+
- 2
|
|
9
|
+
version: 0.2.2
|
|
10
10
|
platform: ruby
|
|
11
11
|
authors:
|
|
12
12
|
- Arto Bendiken
|
|
@@ -15,7 +15,7 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date: 2010-06
|
|
18
|
+
date: 2010-07-06 00:00:00 +02:00
|
|
19
19
|
default_executable: rdf
|
|
20
20
|
dependencies:
|
|
21
21
|
- !ruby/object:Gem::Dependency
|
|
@@ -70,8 +70,8 @@ dependencies:
|
|
|
70
70
|
segments:
|
|
71
71
|
- 0
|
|
72
72
|
- 2
|
|
73
|
-
-
|
|
74
|
-
version: 0.2.
|
|
73
|
+
- 2
|
|
74
|
+
version: 0.2.2
|
|
75
75
|
type: :development
|
|
76
76
|
version_requirements: *id004
|
|
77
77
|
description: RDF.rb is a pure-Ruby library for working with Resource Description Framework (RDF) data.
|
|
@@ -141,7 +141,6 @@ files:
|
|
|
141
141
|
- lib/rdf/vocab/geo.rb
|
|
142
142
|
- lib/rdf/vocab/http.rb
|
|
143
143
|
- lib/rdf/vocab/owl.rb
|
|
144
|
-
- lib/rdf/vocab/rdf.rb
|
|
145
144
|
- lib/rdf/vocab/rdfs.rb
|
|
146
145
|
- lib/rdf/vocab/rsa.rb
|
|
147
146
|
- lib/rdf/vocab/rss.rb
|
data/lib/rdf/vocab/rdf.rb
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
module RDF
|
|
2
|
-
##
|
|
3
|
-
# Resource Description Framework (RDF) vocabulary.
|
|
4
|
-
#
|
|
5
|
-
# @see http://www.w3.org/RDF/
|
|
6
|
-
class RDF < Vocabulary("http://www.w3.org/1999/02/22-rdf-syntax-ns#")
|
|
7
|
-
property :first
|
|
8
|
-
property :object
|
|
9
|
-
property :predicate
|
|
10
|
-
property :rest
|
|
11
|
-
property :subject
|
|
12
|
-
property :type
|
|
13
|
-
property :value
|
|
14
|
-
end
|
|
15
|
-
end
|