rdf 1.1.12 → 1.1.13
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/CREDITS +1 -0
- data/README +1 -0
- data/VERSION +1 -1
- data/lib/rdf/mixin/enumerable.rb +2 -1
- data/lib/rdf/model/node.rb +2 -2
- data/lib/rdf/model/value.rb +2 -1
- data/lib/rdf/query.rb +18 -14
- data/lib/rdf/query/pattern.rb +13 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8cc213b390113a8231b320a298d2aa83a2d9139
|
4
|
+
data.tar.gz: 9d073afff562399f2cb879d10cfafa0409d484b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b0dfaf09965c2bb8cde8472882efb2223b0f5126e11d71d5aefcd560102e0213539a963d6b23bba3261e6261272794efdf56a7f66fe047d81f40afa7aaca302
|
7
|
+
data.tar.gz: 4499c53c7c4bfa96f3377f6ea9344054e8dbe182f42479bba2f535d453a44fecbdbdaf8853d82ed93d612edd74fc0dbee39af864e4994f0785cf5c61c8ade8c5
|
data/CREDITS
CHANGED
data/README
CHANGED
@@ -419,6 +419,7 @@ follows:
|
|
419
419
|
* [Pius Uzamere](http://github.com/pius) - <http://pius.me/>
|
420
420
|
* [Judson Lester](https://github.com/nyarly) - <https://github.com/nyarly>
|
421
421
|
* [Peter Vandenabeele](https://github.com/petervandenabeele) - <https://github.com/petervandenabeele>
|
422
|
+
* [Tom Johnson](https://github.com/no-reply) - <https://github.com/no-reply>
|
422
423
|
|
423
424
|
## Contributing
|
424
425
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.13
|
data/lib/rdf/mixin/enumerable.rb
CHANGED
@@ -103,11 +103,12 @@ module RDF
|
|
103
103
|
|
104
104
|
##
|
105
105
|
# Default validate! implementation, overridden in concrete classes
|
106
|
-
# @return [RDF::
|
106
|
+
# @return [RDF::Enumerable] `self`
|
107
107
|
# @raise [ArgumentError] if the value is invalid
|
108
108
|
# @since 0.3.9
|
109
109
|
def validate!
|
110
110
|
raise ArgumentError if supports?(:validity) && invalid?
|
111
|
+
self
|
111
112
|
end
|
112
113
|
alias_method :validate, :validate!
|
113
114
|
|
data/lib/rdf/model/node.rb
CHANGED
@@ -146,9 +146,9 @@ module RDF
|
|
146
146
|
when Literal
|
147
147
|
# If other is a Literal, reverse test to consolodate complex type checking logic
|
148
148
|
other == self
|
149
|
-
else
|
149
|
+
else
|
150
150
|
other.respond_to?(:node?) && other.node? &&
|
151
|
-
self.hash == other.hash &&
|
151
|
+
self.hash == other.to_term.hash &&
|
152
152
|
other.respond_to?(:id) && @id == other.id
|
153
153
|
end
|
154
154
|
end
|
data/lib/rdf/model/value.rb
CHANGED
@@ -150,11 +150,12 @@ module RDF
|
|
150
150
|
|
151
151
|
##
|
152
152
|
# Default validate! implementation, overridden in concrete classes
|
153
|
-
# @return [RDF::
|
153
|
+
# @return [RDF::Value] `self`
|
154
154
|
# @raise [ArgumentError] if the value is invalid
|
155
155
|
# @since 0.3.9
|
156
156
|
def validate!
|
157
157
|
raise ArgumentError if invalid?
|
158
|
+
self
|
158
159
|
end
|
159
160
|
alias_method :validate, :validate!
|
160
161
|
|
data/lib/rdf/query.rb
CHANGED
@@ -490,32 +490,36 @@ module RDF
|
|
490
490
|
Query.new(*patterns)
|
491
491
|
end
|
492
492
|
|
493
|
+
##
|
494
|
+
# Determine if the URI is a valid according to RFC3987
|
495
|
+
#
|
496
|
+
# @return [Boolean] `true` or `false`
|
497
|
+
# @since 0.3.9
|
498
|
+
def valid?
|
499
|
+
!!validate!
|
500
|
+
rescue
|
501
|
+
false
|
502
|
+
end
|
503
|
+
|
493
504
|
##
|
494
505
|
# Validate this query, making sure it can be executed by our query engine.
|
495
506
|
# This method is public so that it may be called by implementations of
|
496
507
|
# RDF::Queryable#query_execute that bypass our built-in query engine.
|
497
508
|
#
|
498
|
-
# @return [
|
509
|
+
# @return [RDF::Query] `self`
|
499
510
|
# @raise [ArgumentError] This query cannot be executed.
|
500
511
|
def validate!
|
501
|
-
#
|
502
|
-
|
503
|
-
raise ArgumentError.new("Query must not begin with an optional pattern")
|
504
|
-
end
|
512
|
+
# All patterns must be valid
|
513
|
+
@patterns.each(&:validate!)
|
505
514
|
|
506
|
-
# All optional patterns must appear after the regular patterns.
|
507
|
-
|
508
|
-
|
509
|
-
i = 0
|
510
|
-
i += 1 while i < @patterns.length && !@patterns[i].optional?
|
511
|
-
while i < @patterns.length
|
512
|
-
unless @patterns[i].optional?
|
515
|
+
# All optional patterns must appear after the regular patterns.
|
516
|
+
if i = @patterns.find_index(&:optional?)
|
517
|
+
unless @patterns[i..-1].all?(&:optional?)
|
513
518
|
raise ArgumentError.new("Optional patterns must appear at end of query")
|
514
519
|
end
|
515
|
-
i += 1
|
516
520
|
end
|
517
521
|
|
518
|
-
|
522
|
+
self
|
519
523
|
end
|
520
524
|
|
521
525
|
protected
|
data/lib/rdf/query/pattern.rb
CHANGED
@@ -96,6 +96,19 @@ module RDF; class Query
|
|
96
96
|
!!options[:optional]
|
97
97
|
end
|
98
98
|
|
99
|
+
##
|
100
|
+
# Is this pattern composed only of valid components?
|
101
|
+
#
|
102
|
+
# @return [Boolean] `true` or `false`
|
103
|
+
def valid?
|
104
|
+
(has_subject? ? (subject.resource? || subject.variable?) && subject.valid? : true) &&
|
105
|
+
(has_predicate? ? (predicate.uri? || predicate.variable?) && predicate.valid? : true) &&
|
106
|
+
(has_object? ? (object.term? || object.variable?) && object.valid? : true) &&
|
107
|
+
(has_context? ? (context.resource? || context.variable?) && context.valid? : true )
|
108
|
+
rescue NoMethodError
|
109
|
+
false
|
110
|
+
end
|
111
|
+
|
99
112
|
##
|
100
113
|
# Executes this query pattern on the given `queryable` object.
|
101
114
|
#
|
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: 1.1.
|
4
|
+
version: 1.1.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arto Bendiken
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-05-
|
13
|
+
date: 2015-05-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: link_header
|
@@ -41,7 +41,7 @@ dependencies:
|
|
41
41
|
version: '1.1'
|
42
42
|
- - ">="
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
version: 1.1.
|
44
|
+
version: 1.1.13
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
47
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -51,7 +51,7 @@ dependencies:
|
|
51
51
|
version: '1.1'
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.1.
|
54
|
+
version: 1.1.13
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rdf-rdfxml
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|