rdf 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README +2 -0
- data/VERSION +1 -1
- data/lib/rdf/mixin/enumerable.rb +4 -1
- data/lib/rdf/model/uri.rb +4 -2
- data/lib/rdf/reader.rb +5 -4
- data/lib/rdf/version.rb +1 -1
- data/lib/rdf/writer.rb +7 -4
- metadata +5 -5
data/README
CHANGED
@@ -5,9 +5,11 @@ This is a pure-Ruby library for working with [Resource Description Framework
|
|
5
5
|
(RDF)][RDF] data.
|
6
6
|
|
7
7
|
* <http://github.com/bendiken/rdf>
|
8
|
+
* <http://blog.datagraph.org/2010/12/rdf-for-ruby>
|
8
9
|
* <http://blog.datagraph.org/2010/03/rdf-for-ruby>
|
9
10
|
* <http://blog.datagraph.org/2010/04/parsing-rdf-with-ruby>
|
10
11
|
* <http://blog.datagraph.org/2010/04/rdf-repository-howto>
|
12
|
+
* <http://semanticweb.org/wiki/Getting_data_from_the_Semantic_Web_(Ruby)>
|
11
13
|
|
12
14
|
Features
|
13
15
|
--------
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.1
|
data/lib/rdf/mixin/enumerable.rb
CHANGED
@@ -607,11 +607,14 @@ module RDF
|
|
607
607
|
# ntriples = enumerable.dump(:ntriples)
|
608
608
|
#
|
609
609
|
# @param [Array<Object>] args
|
610
|
+
# if the last argument is a hash, it is passed as keyword options to
|
611
|
+
# {RDF::Writer.dump}.
|
610
612
|
# @return [String]
|
611
613
|
# @see RDF::Writer.dump
|
612
614
|
# @since 0.2.0
|
613
615
|
def dump(*args)
|
614
|
-
|
616
|
+
options = args.last.is_a?(Hash) ? args.pop : {}
|
617
|
+
RDF::Writer.for(*args).dump(self, nil, options)
|
615
618
|
end
|
616
619
|
end # Enumerable
|
617
620
|
end # RDF
|
data/lib/rdf/model/uri.rb
CHANGED
@@ -370,15 +370,17 @@ module RDF
|
|
370
370
|
vocab_uri = local_name.empty? ? self.to_s : self.to_s[0...-(local_name.length)]
|
371
371
|
Vocabulary.each do |vocab|
|
372
372
|
if vocab.to_uri == vocab_uri
|
373
|
-
|
373
|
+
prefix = vocab.equal?(RDF) ? :rdf : vocab.__prefix__
|
374
|
+
return [prefix, local_name.empty? ? nil : local_name.to_sym]
|
374
375
|
end
|
375
376
|
end
|
376
377
|
else
|
377
378
|
Vocabulary.each do |vocab|
|
378
379
|
vocab_uri = vocab.to_uri
|
379
380
|
if self.start_with?(vocab_uri)
|
381
|
+
prefix = vocab.equal?(RDF) ? :rdf : vocab.__prefix__
|
380
382
|
local_name = self.to_s[vocab_uri.length..-1]
|
381
|
-
return [
|
383
|
+
return [prefix, local_name.empty? ? nil : local_name.to_sym]
|
382
384
|
end
|
383
385
|
end
|
384
386
|
end
|
data/lib/rdf/reader.rb
CHANGED
@@ -107,7 +107,7 @@ module RDF
|
|
107
107
|
#
|
108
108
|
# @param [String, #to_s] filename
|
109
109
|
# @param [Hash{Symbol => Object}] options
|
110
|
-
# any additional options (see {RDF::Reader#initialize})
|
110
|
+
# any additional options (see {RDF::Reader#initialize} and {RDF::Format.for})
|
111
111
|
# @option options [Symbol] :format (:ntriples)
|
112
112
|
# @yield [reader]
|
113
113
|
# @yieldparam [RDF::Reader] reader
|
@@ -115,9 +115,10 @@ module RDF
|
|
115
115
|
# @raise [RDF::FormatError] if no reader found for the specified format
|
116
116
|
def self.open(filename, options = {}, &block)
|
117
117
|
Util::File.open_file(filename, options) do |file|
|
118
|
-
|
119
|
-
content_type
|
120
|
-
|
118
|
+
format_options = options.dup
|
119
|
+
format_options[:content_type] ||= file.content_type if file.respond_to?(:content_type)
|
120
|
+
format_options[:file_name] ||= filename
|
121
|
+
reader = self.for(format_options)
|
121
122
|
if reader
|
122
123
|
reader.new(file, options, &block)
|
123
124
|
else
|
data/lib/rdf/version.rb
CHANGED
data/lib/rdf/writer.rb
CHANGED
@@ -102,22 +102,25 @@ module RDF
|
|
102
102
|
end
|
103
103
|
|
104
104
|
##
|
105
|
-
# @param [
|
106
|
-
#
|
105
|
+
# @param [RDF::Enumerable, #each] data
|
106
|
+
# the graph or repository to dump
|
107
|
+
# @param [IO, File] io
|
108
|
+
# the output stream or file to write to
|
107
109
|
# @param [Hash{Symbol => Object}] options
|
110
|
+
# passed to {RDF::Writer.new} or {RDF::Writer.buffer}
|
108
111
|
# @return [void]
|
109
112
|
def self.dump(data, io = nil, options = {})
|
110
113
|
io = File.open(io, 'w') if io.is_a?(String)
|
111
114
|
method = data.respond_to?(:each_statement) ? :each_statement : :each
|
112
115
|
if io
|
113
|
-
new(io) do |writer|
|
116
|
+
new(io, options) do |writer|
|
114
117
|
data.send(method) do |statement|
|
115
118
|
writer << statement
|
116
119
|
end
|
117
120
|
writer.flush
|
118
121
|
end
|
119
122
|
else
|
120
|
-
buffer do |writer|
|
123
|
+
buffer(options) do |writer|
|
121
124
|
data.send(method) do |statement|
|
122
125
|
writer << statement
|
123
126
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 0.3.
|
8
|
+
- 1
|
9
|
+
version: 0.3.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Arto Bendiken
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date:
|
19
|
+
date: 2011-01-13 00:00:00 +01:00
|
20
20
|
default_executable: rdf
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -70,8 +70,8 @@ dependencies:
|
|
70
70
|
segments:
|
71
71
|
- 0
|
72
72
|
- 3
|
73
|
-
-
|
74
|
-
version: 0.3.
|
73
|
+
- 1
|
74
|
+
version: 0.3.1
|
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.
|