rdf 0.3.10 → 0.3.11

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/README CHANGED
@@ -355,6 +355,7 @@ see <http://unlicense.org/> or the accompanying {file:UNLICENSE} file.
355
355
  [RDF::N3]: http://ruby-rdf.github.com/rdf-n3
356
356
  [RDF::RDFa]: http://ruby-rdf.github.com/rdf-rdfa
357
357
  [RDF::RDFXML]: http://ruby-rdf.github.com/rdf-rdfxml
358
+ [RDF::TriG]: http://ruby-rdf.github.com/rdf-trig
358
359
  [RDF::TriX]: http://ruby-rdf.github.com/rdf-trix
359
360
  [RDF::Turtle]: http://ruby-rdf.github.com/rdf-turtle
360
361
  [RDF::Raptor]: http://ruby-rdf.github.com/rdf-raptor
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.10
1
+ 0.3.11
data/lib/rdf.rb CHANGED
@@ -99,7 +99,7 @@ module RDF
99
99
  # @param [URI, String, #to_s] uri
100
100
  #
101
101
  # @overload URI(options = {})
102
- # @param [Hash{Symbol => Object} options
102
+ # @param [Hash{Symbol => Object}] options
103
103
  # passed to `Addressable::URI.new`
104
104
  #
105
105
  # @return [RDF::URI]
data/lib/rdf/cli.rb CHANGED
@@ -166,8 +166,8 @@ module RDF
166
166
  end
167
167
 
168
168
  ##
169
- # Parse each file, STDIN or specified string in options[:evaluate] yielding
170
- # a reader
169
+ # Parse each file, STDIN or specified string in `options[:evaluate]`
170
+ # yielding a reader
171
171
  #
172
172
  # @param [Array<String>] files
173
173
  # @yield [reader]
@@ -75,6 +75,37 @@ module RDF
75
75
  false
76
76
  end
77
77
 
78
+ ##
79
+ # Returns `true` if all statements are valid
80
+ #
81
+ # @return [Boolean] `true` or `false`
82
+ # @since 0.3.11
83
+ def valid?
84
+ each_statement do |s|
85
+ return false if s.invalid?
86
+ end
87
+ true
88
+ end
89
+
90
+ ##
91
+ # Returns `true` if value is not valid
92
+ #
93
+ # @return [Boolean] `true` or `false`
94
+ # @since 0.2.1
95
+ def invalid?
96
+ !valid?
97
+ end
98
+
99
+ ##
100
+ # Default validate! implementation, overridden in concrete classes
101
+ # @return [RDF::Literal] `self`
102
+ # @raise [ArgumentError] if the value is invalid
103
+ # @since 0.3.9
104
+ def validate!
105
+ raise ArgumentError if invalid?
106
+ end
107
+ alias_method :validate, :validate!
108
+
78
109
  ##
79
110
  # Returns all RDF statements.
80
111
  #
@@ -124,7 +155,7 @@ module RDF
124
155
  end
125
156
 
126
157
  ##
127
- # Returns an enumerator for {#each_statement}.
158
+ # Returns an enumerator for {RDF::Enumerable#each_statement}.
128
159
  # FIXME: enum_for doesn't seem to be working properly
129
160
  # in JRuby 1.7, so specs are marked pending
130
161
  #
@@ -186,7 +217,7 @@ module RDF
186
217
  end
187
218
 
188
219
  ##
189
- # Returns an enumerator for {#each_triple}.
220
+ # Returns an enumerator for {RDF::Enumerable#each_triple}.
190
221
  #
191
222
  # @return [Enumerator]
192
223
  # @see #each_triple
@@ -247,7 +278,7 @@ module RDF
247
278
  end
248
279
 
249
280
  ##
250
- # Returns an enumerator for {#each_quad}.
281
+ # Returns an enumerator for {RDF::Enumerable#each_quad}.
251
282
  #
252
283
  # @return [Enumerator]
253
284
  # @see #each_quad
@@ -315,7 +346,7 @@ module RDF
315
346
  end
316
347
 
317
348
  ##
318
- # Returns an enumerator for {#each_subject}.
349
+ # Returns an enumerator for {RDF::Enumerable#each_subject}.
319
350
  #
320
351
  # @return [Enumerator]
321
352
  # @see #each_subject
@@ -383,7 +414,7 @@ module RDF
383
414
  end
384
415
 
385
416
  ##
386
- # Returns an enumerator for {#each_predicate}.
417
+ # Returns an enumerator for {RDF::Enumerable#each_predicate}.
387
418
  #
388
419
  # @return [Enumerator]
389
420
  # @see #each_predicate
@@ -451,7 +482,7 @@ module RDF
451
482
  end
452
483
 
453
484
  ##
454
- # Returns an enumerator for {#each_object}.
485
+ # Returns an enumerator for {RDF::Enumerable#each_object}.
455
486
  #
456
487
  # @return [Enumerator]
457
488
  # @see #each_object
@@ -519,7 +550,7 @@ module RDF
519
550
  end
520
551
 
521
552
  ##
522
- # Returns an enumerator for {#each_context}.
553
+ # Returns an enumerator for {RDF::Enumerable#each_context}.
523
554
  #
524
555
  # @return [Enumerator]
525
556
  # @see #each_context
@@ -559,7 +590,7 @@ module RDF
559
590
  end
560
591
 
561
592
  ##
562
- # Returns an enumerator for {#each_graph}.
593
+ # Returns an enumerator for {RDF::Enumerable#each_graph}.
563
594
  #
564
595
  # @return [Enumerator]
565
596
  # @see #each_graph
@@ -597,14 +628,12 @@ module RDF
597
628
  # terms.
598
629
  #
599
630
  # The return value is a `Hash` instance that has the structure:
600
- # {subject => {predicate => [*objects]}`.
631
+ # `{subject => {predicate => [*objects]}}`.
601
632
  #
602
633
  # @return [Hash]
603
634
  def to_hash
604
635
  result = {}
605
636
  each_statement do |statement|
606
- next if statement.invalid? # skip any incomplete statements
607
-
608
637
  result[statement.subject] ||= {}
609
638
  values = (result[statement.subject][statement.predicate] ||= [])
610
639
  values << statement.object unless values.include?(statement.object)
@@ -157,7 +157,7 @@ module RDF
157
157
  ##
158
158
  # Deletes the given RDF statements from the underlying storage.
159
159
  #
160
- # Defaults to invoking {#delete_statement} for each given statement.
160
+ # Defaults to invoking {RDF::Mutable#delete_statement} for each given statement.
161
161
  #
162
162
  # Subclasses of {RDF::Repository} may wish to override this method if
163
163
  # they are capable of more efficiently deleting multiple statements at
@@ -14,7 +14,7 @@ module RDF
14
14
  ##
15
15
  # Queries `self` for RDF statements matching the given `pattern`.
16
16
  #
17
- # This method delegates to the protected {#query_pattern} method for the
17
+ # This method delegates to the protected {RDF::Queryable#query_pattern} method for the
18
18
  # actual lower-level query pattern matching implementation.
19
19
  #
20
20
  # @example
@@ -54,7 +54,7 @@ module RDF
54
54
  when value.respond_to?(:each_statement)
55
55
  insert_statements(value)
56
56
  nil
57
- when (statement = Statement.from(value)).valid?
57
+ when (statement = Statement.from(value))
58
58
  statement
59
59
  else
60
60
  raise ArgumentError.new("not a valid statement: #{value.inspect}")
@@ -73,7 +73,7 @@ module RDF
73
73
  # Inserts statements from the given RDF reader into the underlying
74
74
  # storage or output stream.
75
75
  #
76
- # Defaults to passing the reader to the {#insert_statements} method.
76
+ # Defaults to passing the reader to the {RDF::Writable#insert_statements} method.
77
77
  #
78
78
  # Subclasses of {RDF::Repository} may wish to override this method in
79
79
  # case their underlying storage can efficiently import RDF data directly
@@ -91,7 +91,7 @@ module RDF
91
91
  # Inserts the given RDF graph into the underlying storage or output
92
92
  # stream.
93
93
  #
94
- # Defaults to passing the graph to the {#insert_statements} method.
94
+ # Defaults to passing the graph to the {RDF::Writable#insert_statements} method.
95
95
  #
96
96
  # Subclasses of {RDF::Repository} may wish to override this method in
97
97
  # case their underlying storage architecture is graph-centric rather
@@ -112,7 +112,7 @@ module RDF
112
112
  # Inserts the given RDF statements into the underlying storage or output
113
113
  # stream.
114
114
  #
115
- # Defaults to invoking {#insert_statement} for each given statement.
115
+ # Defaults to invoking {RDF::Writable#insert_statement} for each given statement.
116
116
  #
117
117
  # Subclasses of {RDF::Repository} may wish to override this method if
118
118
  # they are capable of more efficiently inserting multiple statements at
@@ -279,7 +279,7 @@ module RDF
279
279
  end
280
280
 
281
281
  ##
282
- # Validates the value using {#valid?}, raising an error if the value is
282
+ # Validates the value using {RDF::Value#valid?}, raising an error if the value is
283
283
  # invalid.
284
284
  #
285
285
  # @return [RDF::Literal] `self`
@@ -0,0 +1,38 @@
1
+ module RDF; class Literal
2
+ ##
3
+ # A String literal.
4
+ #
5
+ # @see http://www.w3.org/TR/xmlschema-2/#string
6
+ # @since 0.3.11
7
+ class String < Literal
8
+ DATATYPE = XSD.string
9
+ GRAMMAR = nil
10
+
11
+ ##
12
+ # @param [Object] value
13
+ # @option options [String] :lexical (nil)
14
+ def initialize(value, options = {})
15
+ @datatype = options[:datatype] || self.class.const_get(:DATATYPE)
16
+ @string = options[:lexical] if options.has_key?(:lexical)
17
+ @string ||= value if value.is_a?(String)
18
+ @object = value.to_s
19
+ end
20
+
21
+ ##
22
+ # Converts this literal into its canonical lexical representation.
23
+ #
24
+ # @return [RDF::Literal] `self`
25
+ # @see http://www.w3.org/TR/xml-exc-c14n/
26
+ def canonicalize!
27
+ self
28
+ end
29
+
30
+ ##
31
+ # Returns the value as a string.
32
+ #
33
+ # @return [String]
34
+ def to_s
35
+ @string || @object
36
+ end
37
+ end # XML
38
+ end; end # RDF::Literal
@@ -115,7 +115,8 @@ module RDF
115
115
  def valid?
116
116
  has_subject? && subject.valid? &&
117
117
  has_predicate? && predicate.valid? &&
118
- has_object? && object.valid?
118
+ has_object? && object.valid? &&
119
+ (has_context? ? context.valid? : true )
119
120
  end
120
121
 
121
122
  ##
data/lib/rdf/model/uri.rb CHANGED
@@ -122,7 +122,7 @@ module RDF
122
122
  ##
123
123
  # Creates a new `RDF::URI` instance based on the given `uri` string.
124
124
  #
125
- # This is just an alias for {#initialize RDF::URI.new} for compatibity
125
+ # This is just an alias for {RDF::URI#initialize} for compatibity
126
126
  # with `Addressable::URI.parse`.
127
127
  #
128
128
  # @param [String, #to_s] str
@@ -136,7 +136,7 @@ module RDF
136
136
  # @param [RDF::URI, String, #to_s] uri
137
137
  #
138
138
  # @overload URI.new(options = {})
139
- # @param [Hash{Symbol => Object} options
139
+ # @param [Hash{Symbol => Object}] options
140
140
  def initialize(uri_or_options)
141
141
  case uri_or_options
142
142
  when Hash
@@ -509,7 +509,7 @@ module RDF
509
509
  alias_method :ends_with?, :end_with?
510
510
 
511
511
  ##
512
- # Checks whether this URI the same term as `other'.
512
+ # Checks whether this URI the same term as `other`.
513
513
  #
514
514
  # @example
515
515
  # RDF::URI('http://t.co/').eql?(RDF::URI('http://t.co/')) #=> true
@@ -69,7 +69,7 @@ module RDF
69
69
  ##
70
70
  # Returns `true` if `self` is an IRI reference.
71
71
  #
72
- # By default this is simply an alias for {#uri?}.
72
+ # By default this is simply an alias for {RDF::Value#uri?}.
73
73
  #
74
74
  # @return [Boolean]
75
75
  def iri?
@@ -4,7 +4,7 @@ module RDF::NTriples
4
4
  #
5
5
  # Output is serialized for UTF-8, to serialize as ASCII
6
6
  # (with) unicode escapes, set :encoding => Encoding::ASCII as
7
- # an option to {#initialize}.
7
+ # an option to {RDF::NTriples::Writer#initialize}.
8
8
  #
9
9
  # @example Obtaining an NTriples writer class
10
10
  # RDF::Writer.for(:ntriples) #=> RDF::NTriples::Writer
data/lib/rdf/query.rb CHANGED
@@ -6,7 +6,7 @@ module RDF
6
6
  # contexts if the name is an RDF::Term or bound RDF::Query::Variable.
7
7
  # Names that are against unbound variables match either default
8
8
  # or named contexts.
9
- # The name of `false' will only match against the default context.
9
+ # The name of `false` will only match against the default context.
10
10
  #
11
11
  # Variable names cause the variable to be added to the solution set
12
12
  # elements.
@@ -131,7 +131,7 @@ module RDF
131
131
  # contexts if the name is an RDF::Term or bound RDF::Query::Variable.
132
132
  # Names that are against unbound variables match either detault
133
133
  # or named contexts.
134
- # The name of `false' will only match against the default context.
134
+ # The name of `false` will only match against the default context.
135
135
  # @yield [query]
136
136
  # @yieldparam [RDF::Query] query
137
137
  # @yieldreturn [void] ignored
@@ -234,7 +234,7 @@ module RDF
234
234
  # contexts if the name is an RDF::Term or bound RDF::Query::Variable.
235
235
  # Names that are against unbound variables match either detault
236
236
  # or named contexts.
237
- # The name of `false' will only match against the default context.
237
+ # The name of `false` will only match against the default context.
238
238
  #
239
239
  # @param [RDF::Queryable] queryable
240
240
  # the graph or repository to query
@@ -124,7 +124,7 @@ module RDF; class Query
124
124
  # If the optional `bindings` are given, variables will be substituted with their values
125
125
  # when executing the query.
126
126
  #
127
- # To match triples only in the default context, set context to `false'.
127
+ # To match triples only in the default context, set context to `false`.
128
128
  #
129
129
  # @example
130
130
  # Pattern.new(:s, :p, :o).execute(RDF::Repository.load('data.nt'))
@@ -106,7 +106,7 @@ module RDF; class Query
106
106
  # Reorders this solution sequence by the given `variables`.
107
107
  #
108
108
  # Variables may be symbols or {Query::Variable} instances.
109
- # A variable may also be a Procedure/Lambda, compatible with {::Enumerable#sort}.
109
+ # A variable may also be a Procedure/Lambda, compatible with `::Enumerable#sort`.
110
110
  # This takes two arguments (solutions) and returns -1, 0, or 1 equivalently to <=>.
111
111
  #
112
112
  # If called with a block, variables are ignored, and the block is invoked with
@@ -83,7 +83,7 @@ module RDF
83
83
  #
84
84
  # Transactions do not support the `RDF::Enumerable` protocol directly.
85
85
  # To enumerate the RDF statements to be inserted or deleted, use the
86
- # {#inserts} and {#deletes} accessors.
86
+ # {RDF::Transaction#inserts} and {RDF::Transaction#deletes} accessors.
87
87
  #
88
88
  # @return [Boolean]
89
89
  # @see RDF::Readable#readable?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.10
4
+ version: 0.3.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-11-22 00:00:00.000000000 Z
14
+ date: 2012-11-28 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: addressable
@@ -36,7 +36,7 @@ dependencies:
36
36
  requirements:
37
37
  - - ! '>='
38
38
  - !ruby/object:Gem::Version
39
- version: 0.7.5
39
+ version: 0.8.3
40
40
  type: :development
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
@@ -44,7 +44,7 @@ dependencies:
44
44
  requirements:
45
45
  - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
- version: 0.7.5
47
+ version: 0.8.3
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rdf-spec
50
50
  requirement: !ruby/object:Gem::Requirement
@@ -52,7 +52,7 @@ dependencies:
52
52
  requirements:
53
53
  - - ~>
54
54
  - !ruby/object:Gem::Version
55
- version: 0.3.10
55
+ version: 0.3.11
56
56
  type: :development
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
@@ -60,7 +60,7 @@ dependencies:
60
60
  requirements:
61
61
  - - ~>
62
62
  - !ruby/object:Gem::Version
63
- version: 0.3.10
63
+ version: 0.3.11
64
64
  - !ruby/object:Gem::Dependency
65
65
  name: rspec
66
66
  requirement: !ruby/object:Gem::Requirement
@@ -68,7 +68,7 @@ dependencies:
68
68
  requirements:
69
69
  - - ! '>='
70
70
  - !ruby/object:Gem::Version
71
- version: 2.8.0
71
+ version: 2.12.0
72
72
  type: :development
73
73
  prerelease: false
74
74
  version_requirements: !ruby/object:Gem::Requirement
@@ -76,7 +76,7 @@ dependencies:
76
76
  requirements:
77
77
  - - ! '>='
78
78
  - !ruby/object:Gem::Version
79
- version: 2.8.0
79
+ version: 2.12.0
80
80
  description: RDF.rb is a pure-Ruby library for working with Resource Description Framework
81
81
  (RDF) data.
82
82
  email: [email protected]
@@ -114,6 +114,7 @@ files:
114
114
  - lib/rdf/model/literal/double.rb
115
115
  - lib/rdf/model/literal/integer.rb
116
116
  - lib/rdf/model/literal/numeric.rb
117
+ - lib/rdf/model/literal/string.rb
117
118
  - lib/rdf/model/literal/time.rb
118
119
  - lib/rdf/model/literal/token.rb
119
120
  - lib/rdf/model/literal/xml.rb
@@ -183,9 +184,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
184
  - - ! '>='
184
185
  - !ruby/object:Gem::Version
185
186
  version: '0'
186
- segments:
187
- - 0
188
- hash: -3969937466314581252
189
187
  requirements: []
190
188
  rubyforge_project: rdf
191
189
  rubygems_version: 1.8.24
OSZAR »