rdf-isomorphic 1.0.1 → 1.0.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.
Files changed (5) hide show
  1. checksums.yaml +6 -14
  2. data/README +2 -1
  3. data/VERSION +1 -1
  4. data/lib/rdf/isomorphic.rb +13 -17
  5. metadata +13 -13
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZDdlMDRiNTc4YTZlNzdkZjgwZTNjMTMyYTRjZDBhZjhjOTY4N2IyOA==
5
- data.tar.gz: !binary |-
6
- OTkxMjkyMDcyYWNkZWNmM2YxMmU5NDNiOTI0YTQ5M2UwMjM0MDI0NA==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- NmNlNjFiYzY1MmQwN2UyYTNmY2M5NjkzZTczYzUzYjUxYjkwNmEzZGMxZjFm
10
- MmYxYjBhYmJjNDA1OWQ4MzA4NzY1YmU5MGU4ZDZhYTEwOTY0NWFkNWM1MmJh
11
- NTRmMTc2YjA0MDc3YzU1MzU1NzIwN2Q2OGYyYWY4MjkwMzJhZmM=
12
- data.tar.gz: !binary |-
13
- ZjE3ZTBjNDllYTEzMzU0MjM1Njc5MGUyZDQyMTllOTFlNjg4YWE2NmE2NWRj
14
- OTk1MjAzMGRiN2UwZTFkNmU1ODA0ODg0ODVjZWEyY2MwMjdhOTEyODFjOTYw
15
- ZDk2YjBkYjliNWY5OGEwNzg3ZTM0Zjg4MWU0MzUxNjUxMzYwNzc=
2
+ SHA1:
3
+ metadata.gz: bef4e5a262cae34f69a3215aead4bd46e4a67c5c
4
+ data.tar.gz: cdfb92c433a387157340f54e3d498f17d472cb6a
5
+ SHA512:
6
+ metadata.gz: ce60d7f0f65675e1ed60ddc5109d192b6cf2972947f3b41b3c2b780dae79427b9db8956722eb38cbbb42b6a6edbfffb4d03bee5dd5cedc0bb6627411915ff117
7
+ data.tar.gz: 0cf08692c08d88ce89fc64f7f23c1c79282ee8c5dfdae5538576680bf76ac90aeb5f8aaa1b19cdd3e2aa99342256479e74452306bf5d0bfbd4abd363b42543b8
data/README CHANGED
@@ -5,7 +5,8 @@ That includes RDF::Repository, RDF::Graph, query results, and more.
5
5
 
6
6
  For more information about RDF.rb, see <http://rdf.rubyforge.org>
7
7
 
8
- [![Build Status](https://travis-ci.org/ruby-rdf/rdf-isomorphic.png?branch=master)](https://travis-ci.org/ruby-rdf/rdf-isomorphic)
8
+ [![Gem Version](https://badge.fury.io/rb/rdf-isomorphic.png)](http://badge.fury.io/rb/rdf-isomorphic)
9
+ [![Build Status](https://travis-ci.org/ruby-rdf/rdf-isomorphic.png)](https://travis-ci.org/ruby-rdf/rdf-isomorphic)
9
10
 
10
11
  ## Synopsis:
11
12
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 1.0.2
@@ -9,7 +9,7 @@ module RDF
9
9
  #
10
10
  # RDF::Isomorphic provides the functions isomorphic_with and bijection_to for RDF::Enumerable.
11
11
  #
12
- # @see http://ruby-rdf.github.com/rdf
12
+ # @see http://rdf.rubyforge.org
13
13
  # @see http://www.hpl.hp.com/techreports/2001/HPL-2001-293.pdf
14
14
  module Isomorphic
15
15
  autoload :VERSION, 'rdf/isomorphic/version'
@@ -159,14 +159,10 @@ module RDF
159
159
 
160
160
  # Blank nodes appearing in given list of statements
161
161
  # @private
162
- # @return [RDF::Node]
162
+ # @param [Array<RDF::Statement>] blank_stmt_list
163
+ # @return [Array<RDF::Node>]
163
164
  def self.blank_nodes_in(blank_stmt_list)
164
- nodes = []
165
- blank_stmt_list.each do | statement |
166
- nodes << statement.object if statement.object.node?
167
- nodes << statement.subject if statement.subject.node?
168
- end
169
- nodes.uniq
165
+ blank_stmt_list.map {|statement | statement.to_quad.compact.select(&:node?)}.flatten.uniq
170
166
  end
171
167
 
172
168
  # Given a set of statements, create a mapping of node => SHA1 for a given
@@ -230,14 +226,18 @@ module RDF
230
226
  # Returns a tuple consisting of grounded being true or false and the String
231
227
  # for the hash
232
228
  # @private
229
+ # @param [RDF::Node] node
230
+ # @param [Array<RDF::Statement>] statements
231
+ # @param [Hash] hashes
232
+ # @param [Boolean] canonicalize
233
233
  # @return [Boolean, String]
234
234
  def self.node_hash_for(node, statements, hashes, canonicalize)
235
235
  statement_signatures = []
236
236
  grounded = true
237
237
  statements.each do | statement |
238
- if (statement.object == node) || (statement.subject == node)
238
+ if statement.to_quad.include?(node)
239
239
  statement_signatures << hash_string_for(statement, hashes, node, canonicalize)
240
- [statement.subject, statement.object].each do | resource |
240
+ statement.to_quad.compact.each do | resource |
241
241
  grounded = false unless grounded?(resource, hashes) || resource == node
242
242
  end
243
243
  end
@@ -252,11 +252,7 @@ module RDF
252
252
  # return [String]
253
253
  # @private
254
254
  def self.hash_string_for(statement, hashes, node, canonicalize)
255
- string = ""
256
- string << string_for_node(statement.subject, hashes, node, canonicalize)
257
- string << statement.predicate.to_s
258
- string << string_for_node(statement.object, hashes, node, canonicalize)
259
- string
255
+ statement.to_quad.map {|r| string_for_node(r, hashes, node, canonicalize)}.join("")
260
256
  end
261
257
 
262
258
  # Returns true if a given node is grounded
@@ -275,6 +271,8 @@ module RDF
275
271
  # @private
276
272
  def self.string_for_node(node, hashes,target, canonicalize)
277
273
  case
274
+ when node.nil?
275
+ ""
278
276
  when node == target
279
277
  "itself"
280
278
  when node.node? && hashes.member?(node)
@@ -296,7 +294,5 @@ module RDF
296
294
  module Enumerable
297
295
  include RDF::Isomorphic
298
296
  end
299
-
300
- autoload :VERSION, 'rdf/isomorphic/version'
301
297
  end
302
298
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdf-isomorphic
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Lavender
@@ -9,62 +9,62 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-13 00:00:00.000000000 Z
12
+ date: 2013-06-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rdf
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ! '>='
18
+ - - '>='
19
19
  - !ruby/object:Gem::Version
20
20
  version: '1.0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ! '>='
25
+ - - '>='
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rdf-spec
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ! '>='
32
+ - - '>='
33
33
  - !ruby/object:Gem::Version
34
34
  version: '1.0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ! '>='
39
+ - - '>='
40
40
  - !ruby/object:Gem::Version
41
41
  version: '1.0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rspec
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ! '>='
46
+ - - '>='
47
47
  - !ruby/object:Gem::Version
48
48
  version: 2.12.0
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ! '>='
53
+ - - '>='
54
54
  - !ruby/object:Gem::Version
55
55
  version: 2.12.0
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: yard
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ! '>='
60
+ - - '>='
61
61
  - !ruby/object:Gem::Version
62
62
  version: 0.8.3
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ! '>='
67
+ - - '>='
68
68
  - !ruby/object:Gem::Version
69
69
  version: 0.8.3
70
70
  description: RDF.rb plugin for graph bijections and isomorphic equivalence.
@@ -79,7 +79,7 @@ files:
79
79
  - VERSION
80
80
  - lib/rdf/isomorphic/version.rb
81
81
  - lib/rdf/isomorphic.rb
82
- homepage: http://github.com/ruby-rdf/rdf-isomorphic
82
+ homepage: http://ruby-rdf.github.com/rdf-isomorphic
83
83
  licenses:
84
84
  - Public Domain
85
85
  metadata: {}
@@ -89,12 +89,12 @@ require_paths:
89
89
  - lib
90
90
  required_ruby_version: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - ! '>='
92
+ - - '>='
93
93
  - !ruby/object:Gem::Version
94
94
  version: 1.8.2
95
95
  required_rubygems_version: !ruby/object:Gem::Requirement
96
96
  requirements:
97
- - - ! '>='
97
+ - - '>='
98
98
  - !ruby/object:Gem::Version
99
99
  version: '0'
100
100
  requirements: []