rdf 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -1,15 +1,11 @@
1
- RDF.rb: RDF API for Ruby
2
- ========================
1
+ RDF.rb: RDF for Ruby
2
+ ====================
3
3
 
4
- This is a pure-Ruby library for working with Resource Description Framework
5
- (RDF) data.
4
+ This is a pure-Ruby library for working with [Resource Description Framework
5
+ (RDF)][RDF] data.
6
6
 
7
7
  * <http://github.com/bendiken/rdf>
8
-
9
- ### About the Resource Description Framework (RDF)
10
-
11
- * <http://www.w3.org/RDF/>
12
- * <http://en.wikipedia.org/wiki/Resource_Description_Framework>
8
+ * <http://blog.datagraph.org/2010/03/rdf-for-ruby>
13
9
 
14
10
  Examples
15
11
  --------
@@ -162,3 +158,5 @@ License
162
158
 
163
159
  RDF.rb is free and unencumbered public domain software. For more
164
160
  information, see <http://unlicense.org/> or the accompanying UNLICENSE file.
161
+
162
+ [RDF]: http://www.w3.org/RDF/
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
data/etc/doap.nt CHANGED
@@ -1,13 +1,19 @@
1
1
  <http://ar.to/#self> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
2
+ <http://ar.to/#self> <http://www.w3.org/2000/01/rdf-schema#isDefinedBy> <http://datagraph.org/bendiken/foaf> .
3
+ <http://ar.to/#self> <http://xmlns.com/foaf/0.1/homepage> <http://ar.to/> .
2
4
  <http://ar.to/#self> <http://xmlns.com/foaf/0.1/made> <http://rubygems.org/gems/rdf> .
3
5
  <http://ar.to/#self> <http://xmlns.com/foaf/0.1/mbox> <mailto:arto.bendiken@gmail.com> .
4
6
  <http://ar.to/#self> <http://xmlns.com/foaf/0.1/name> "Arto Bendiken" .
5
7
  <http://bhuga.net/#ben> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
8
+ <http://bhuga.net/#ben> <http://www.w3.org/2000/01/rdf-schema#isDefinedBy> <http://datagraph.org/bhuga/foaf> .
9
+ <http://bhuga.net/#ben> <http://xmlns.com/foaf/0.1/homepage> <http://bhuga.net/> .
6
10
  <http://bhuga.net/#ben> <http://xmlns.com/foaf/0.1/mbox> <mailto:blavender@gmail.com> .
7
11
  <http://bhuga.net/#ben> <http://xmlns.com/foaf/0.1/name> "Ben Lavender" .
8
12
  <http://rubygems.org/gems/rdf> <http://purl.org/dc/terms/creator> <http://ar.to/#self> .
9
13
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#blog> <http://ar.to/> .
14
+ <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#blog> <http://blog.datagraph.org/> .
10
15
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#bug-database> <http://github.com/bendiken/rdf/issues> .
16
+ <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#category> <http://dbpedia.org/resource/Resource_Description_Framework> .
11
17
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#created> "2007-10-23" .
12
18
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#description> "RDF.rb is a pure-Ruby library for working with Resource Description Framework (RDF) data."@en .
13
19
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#developer> <http://ar.to/#self> .
@@ -20,5 +26,6 @@
20
26
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#name> "RDF.rb" .
21
27
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#platform> "Ruby" .
22
28
  <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#shortdesc> "A Ruby library for working with Resource Description Framework (RDF) data."@en .
29
+ <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#vendor> <http://datagraph.org/> .
23
30
  <http://rubygems.org/gems/rdf> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://usefulinc.com/ns/doap#Project> .
24
31
  <http://rubygems.org/gems/rdf> <http://xmlns.com/foaf/0.1/maker> <http://ar.to/#self> .
@@ -2,6 +2,13 @@ module RDF::NTriples
2
2
  ##
3
3
  # N-Triples format specification.
4
4
  #
5
+ # @example Obtaining an RDF/NTriples format class
6
+ # RDF::Format.for(:ntriples) #=> RDF::NTriples::Format
7
+ # RDF::Format.for("etc/doap.nt")
8
+ # RDF::Format.for(:file_name => "etc/doap.nt")
9
+ # RDF::Format.for(:file_extension => "nt")
10
+ # RDF::Format.for(:content_type => "text/plain")
11
+ #
5
12
  # @see http://www.w3.org/TR/rdf-testcases/#ntriples
6
13
  class Format < RDF::Format
7
14
  content_type 'text/plain', :extension => :nt
@@ -2,8 +2,23 @@ module RDF::NTriples
2
2
  ##
3
3
  # N-Triples parser.
4
4
  #
5
- # @example Reading N-Triples data
6
- # RDF::NTriples::Reader.open("spec/data/test.nt") do |reader|
5
+ # @example Obtaining an RDF/NTriples reader class
6
+ # RDF::Reader.for(:ntriples) #=> RDF::NTriples::Reader
7
+ # RDF::Reader.for("etc/doap.nt")
8
+ # RDF::Reader.for(:file_name => "etc/doap.nt")
9
+ # RDF::Reader.for(:file_extension => "nt")
10
+ # RDF::Reader.for(:content_type => "text/plain")
11
+ #
12
+ # @example Parsing RDF statements from an NTriples file
13
+ # RDF::NTriples::Reader.open("etc/doap.nt") do |reader|
14
+ # reader.each_statement do |statement|
15
+ # puts statement.inspect
16
+ # end
17
+ # end
18
+ #
19
+ # @example Parsing RDF statements from an NTriples string
20
+ # data = StringIO.new(File.read("etc/doap.nt"))
21
+ # RDF::NTriples::Reader.new(data) do |reader|
7
22
  # reader.each_statement do |statement|
8
23
  # puts statement.inspect
9
24
  # end
@@ -2,6 +2,27 @@ module RDF::NTriples
2
2
  ##
3
3
  # N-Triples serializer.
4
4
  #
5
+ # @example Obtaining an NTriples writer class
6
+ # RDF::Writer.for(:ntriples) #=> RDF::NTriples::Writer
7
+ # RDF::Writer.for("etc/test.nt")
8
+ # RDF::Writer.for(:file_name => "etc/test.nt")
9
+ # RDF::Writer.for(:file_extension => "nt")
10
+ # RDF::Writer.for(:content_type => "text/plain")
11
+ #
12
+ # @example Serializing RDF statements into an NTriples file
13
+ # RDF::NTriples::Writer.open("etc/test.nt") do |writer|
14
+ # graph.each_statement do |statement|
15
+ # writer << statement
16
+ # end
17
+ # end
18
+ #
19
+ # @example Serializing RDF statements into an NTriples string
20
+ # RDF::NTriples::Writer.buffer do |writer|
21
+ # graph.each_statement do |statement|
22
+ # writer << statement
23
+ # end
24
+ # end
25
+ #
5
26
  # @see http://www.w3.org/TR/rdf-testcases/#ntriples
6
27
  class Writer < RDF::Writer
7
28
  format RDF::NTriples::Format
@@ -12,7 +33,7 @@ module RDF::NTriples
12
33
  # @param [String] text
13
34
  # @return [void]
14
35
  def write_comment(text)
15
- puts "# #{text}"
36
+ puts "# #{text.chomp}" # TODO: correctly output multi-line comments
16
37
  end
17
38
 
18
39
  ##
@@ -23,44 +44,64 @@ module RDF::NTriples
23
44
  # @param [RDF::Value] object
24
45
  # @return [void]
25
46
  def write_triple(subject, predicate, object)
26
- puts "%s %s %s ." % [subject, predicate, object].map { |value| format_value(value) }
47
+ puts format_triple(subject, predicate, object)
48
+ end
49
+
50
+ ##
51
+ # Returns the N-Triples representation of a statement.
52
+ #
53
+ # @param [RDF::Statement] statement
54
+ # @return [String]
55
+ def format_statement(statement)
56
+ format_triple(*statement.to_triple)
57
+ end
58
+
59
+ ##
60
+ # Returns the N-Triples representation of a triple.
61
+ #
62
+ # @param [RDF::Resource] subject
63
+ # @param [RDF::URI] predicate
64
+ # @param [RDF::Value] object
65
+ # @return [String]
66
+ def format_triple(subject, predicate, object)
67
+ "%s %s %s ." % [subject, predicate, object].map { |value| format_value(value) }
27
68
  end
28
69
 
29
70
  ##
30
71
  # Returns the N-Triples representation of a blank node.
31
72
  #
32
- # @param [RDF::Node] value
73
+ # @param [RDF::Node] node
33
74
  # @param [Hash{Symbol => Object}] options
34
75
  # @return [String]
35
- def format_node(value, options = {})
76
+ def format_node(node, options = {})
36
77
  "_:%s" % node.id
37
78
  end
38
79
 
39
80
  ##
40
81
  # Returns the N-Triples representation of a URI reference.
41
82
  #
42
- # @param [RDF::URI] value
83
+ # @param [RDF::URI] literal
43
84
  # @param [Hash{Symbol => Object}] options
44
85
  # @return [String]
45
- def format_uri(value, options = {})
46
- "<%s>" % uri_for(value)
86
+ def format_uri(uri, options = {})
87
+ "<%s>" % uri_for(uri)
47
88
  end
48
89
 
49
90
  ##
50
91
  # Returns the N-Triples representation of a literal.
51
92
  #
52
- # @param [RDF::Literal, String, #to_s] value
93
+ # @param [RDF::Literal, String, #to_s] literal
53
94
  # @param [Hash{Symbol => Object}] options
54
95
  # @return [String]
55
- def format_literal(value, options = {})
56
- case value
96
+ def format_literal(literal, options = {})
97
+ case literal
57
98
  when RDF::Literal
58
- text = quoted(escaped(value.value))
59
- text << "@#{value.language}" if value.language
60
- text << "^^<#{uri_for(value.datatype)}>" if value.datatype
99
+ text = quoted(escaped(literal.value))
100
+ text << "@#{literal.language}" if literal.has_language?
101
+ text << "^^<#{uri_for(literal.datatype)}>" if literal.has_datatype?
61
102
  text
62
103
  else
63
- quoted(escaped(value.to_s))
104
+ quoted(escaped(literal.to_s))
64
105
  end
65
106
  end
66
107
  end
data/lib/rdf/version.rb CHANGED
@@ -2,7 +2,7 @@ module RDF
2
2
  module VERSION
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
- TINY = 0
5
+ TINY = 1
6
6
  EXTRA = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY].join('.')
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 1
9
+ version: 0.1.1
5
10
  platform: ruby
6
11
  authors:
7
12
  - Arto Bendiken
@@ -10,49 +15,65 @@ autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
17
 
13
- date: 2010-03-10 00:00:00 +01:00
18
+ date: 2010-03-14 00:00:00 +01:00
14
19
  default_executable: rdf
15
20
  dependencies:
16
21
  - !ruby/object:Gem::Dependency
17
22
  name: rdf-spec
18
- type: :development
19
- version_requirement:
20
- version_requirements: !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
21
25
  requirements:
22
26
  - - ">="
23
27
  - !ruby/object:Gem::Version
24
- version: 0.0.9
25
- version:
28
+ segments:
29
+ - 0
30
+ - 1
31
+ - 0
32
+ version: 0.1.0
33
+ type: :development
34
+ version_requirements: *id001
26
35
  - !ruby/object:Gem::Dependency
27
36
  name: rspec
28
- type: :development
29
- version_requirement:
30
- version_requirements: !ruby/object:Gem::Requirement
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
31
39
  requirements:
32
40
  - - ">="
33
41
  - !ruby/object:Gem::Version
34
- version: 1.2.9
35
- version:
42
+ segments:
43
+ - 1
44
+ - 3
45
+ - 0
46
+ version: 1.3.0
47
+ type: :development
48
+ version_requirements: *id002
36
49
  - !ruby/object:Gem::Dependency
37
50
  name: yard
38
- type: :development
39
- version_requirement:
40
- version_requirements: !ruby/object:Gem::Requirement
51
+ prerelease: false
52
+ requirement: &id003 !ruby/object:Gem::Requirement
41
53
  requirements:
42
54
  - - ">="
43
55
  - !ruby/object:Gem::Version
56
+ segments:
57
+ - 0
58
+ - 5
59
+ - 3
44
60
  version: 0.5.3
45
- version:
61
+ type: :development
62
+ version_requirements: *id003
46
63
  - !ruby/object:Gem::Dependency
47
64
  name: addressable
48
- type: :runtime
49
- version_requirement:
50
- version_requirements: !ruby/object:Gem::Requirement
65
+ prerelease: false
66
+ requirement: &id004 !ruby/object:Gem::Requirement
51
67
  requirements:
52
68
  - - ">="
53
69
  - !ruby/object:Gem::Version
70
+ segments:
71
+ - 2
72
+ - 1
73
+ - 1
54
74
  version: 2.1.1
55
- version:
75
+ type: :runtime
76
+ version_requirements: *id004
56
77
  description: RDF.rb is a pure-Ruby library for working with Resource Description Framework (RDF) data.
57
78
  email: arto.bendiken@gmail.com
58
79
  executables:
@@ -128,18 +149,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
128
149
  requirements:
129
150
  - - ">="
130
151
  - !ruby/object:Gem::Version
152
+ segments:
153
+ - 1
154
+ - 8
155
+ - 2
131
156
  version: 1.8.2
132
- version:
133
157
  required_rubygems_version: !ruby/object:Gem::Requirement
134
158
  requirements:
135
159
  - - ">="
136
160
  - !ruby/object:Gem::Version
161
+ segments:
162
+ - 0
137
163
  version: "0"
138
- version:
139
164
  requirements: []
140
165
 
141
166
  rubyforge_project: rdf
142
- rubygems_version: 1.3.5
167
+ rubygems_version: 1.3.6
143
168
  signing_key:
144
169
  specification_version: 3
145
170
  summary: A Ruby library for working with Resource Description Framework (RDF) data.