rdf-isomorphic 1.0.0 → 1.0.1
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 +15 -0
- data/README +2 -0
- data/VERSION +1 -1
- data/lib/rdf/isomorphic.rb +9 -9
- data/lib/rdf/isomorphic/version.rb +5 -8
- metadata +67 -95
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
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=
|
data/README
CHANGED
@@ -5,6 +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
|
+
[](https://travis-ci.org/ruby-rdf/rdf-isomorphic)
|
9
|
+
|
8
10
|
## Synopsis:
|
9
11
|
|
10
12
|
require 'rdf/isomorphic'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.1
|
data/lib/rdf/isomorphic.rb
CHANGED
@@ -9,9 +9,10 @@ module RDF
|
|
9
9
|
#
|
10
10
|
# RDF::Isomorphic provides the functions isomorphic_with and bijection_to for RDF::Enumerable.
|
11
11
|
#
|
12
|
-
# @see http://rdf.
|
12
|
+
# @see http://ruby-rdf.github.com/rdf
|
13
13
|
# @see http://www.hpl.hp.com/techreports/2001/HPL-2001-293.pdf
|
14
14
|
module Isomorphic
|
15
|
+
autoload :VERSION, 'rdf/isomorphic/version'
|
15
16
|
|
16
17
|
# Returns `true` if this RDF::Enumerable is isomorphic with another.
|
17
18
|
#
|
@@ -47,7 +48,7 @@ module RDF
|
|
47
48
|
# @param opts [Hash<Symbol => Any>] options
|
48
49
|
# @return [Hash, nil]
|
49
50
|
def bijection_to(other, opts = {})
|
50
|
-
|
51
|
+
|
51
52
|
grounded_stmts_match = (count == other.count)
|
52
53
|
|
53
54
|
grounded_stmts_match &&= each_statement.all? do | stmt |
|
@@ -107,8 +108,7 @@ module RDF
|
|
107
108
|
# conflict, so we don't check them. This is a little bit messy in the
|
108
109
|
# middle of the method, and probably slows down isomorphic checks, but
|
109
110
|
# prevents almost-isomorphic cases from getting nutty.
|
110
|
-
return nil if these_hashes.values.any? { |hash|
|
111
|
-
!(other_hashes.values.member?(hash)) }
|
111
|
+
return nil if these_hashes.values.any? { |hash| !(other_hashes.values.member?(hash)) }
|
112
112
|
return nil if other_hashes.values.any? { |hash| !(these_hashes.values.member?(hash)) }
|
113
113
|
|
114
114
|
# Using the created hashes, map nodes to other_nodes
|
@@ -192,7 +192,7 @@ module RDF
|
|
192
192
|
# We may have to go over the list multiple times. If a node is marked as
|
193
193
|
# grounded, other nodes can then use it to decide their own state of
|
194
194
|
# grounded.
|
195
|
-
while hash_needed
|
195
|
+
while hash_needed
|
196
196
|
starting_grounded_nodes = hashes.size
|
197
197
|
nodes.each do | node |
|
198
198
|
unless hashes.member? node
|
@@ -207,10 +207,10 @@ module RDF
|
|
207
207
|
# as grounded, even if we have not tied them back to a root yet.
|
208
208
|
uniques = {}
|
209
209
|
ungrounded_hashes.each do |node, hash|
|
210
|
-
uniques[hash] = uniques
|
210
|
+
uniques[hash] = uniques.has_key?(hash) ? false : node
|
211
211
|
end
|
212
212
|
uniques.each do |hash, node|
|
213
|
-
hashes[node] = hash
|
213
|
+
hashes[node] = hash if node
|
214
214
|
end
|
215
215
|
hash_needed = starting_grounded_nodes != hashes.size
|
216
216
|
end
|
@@ -238,7 +238,7 @@ module RDF
|
|
238
238
|
if (statement.object == node) || (statement.subject == node)
|
239
239
|
statement_signatures << hash_string_for(statement, hashes, node, canonicalize)
|
240
240
|
[statement.subject, statement.object].each do | resource |
|
241
|
-
grounded = false unless grounded(resource, hashes) || resource == node
|
241
|
+
grounded = false unless grounded?(resource, hashes) || resource == node
|
242
242
|
end
|
243
243
|
end
|
244
244
|
end
|
@@ -264,7 +264,7 @@ module RDF
|
|
264
264
|
# in the given mapping of grounded nodes.
|
265
265
|
# @return [Boolean]
|
266
266
|
# @private
|
267
|
-
def self.grounded(node, hashes)
|
267
|
+
def self.grounded?(node, hashes)
|
268
268
|
(!(node.node?)) || (hashes.member? node)
|
269
269
|
end
|
270
270
|
|
@@ -1,16 +1,13 @@
|
|
1
1
|
module RDF::Isomorphic
|
2
2
|
module VERSION
|
3
|
-
|
4
|
-
MINOR =
|
5
|
-
TINY = 3
|
6
|
-
EXTRA = nil
|
3
|
+
VERSION_FILE = File.join(File.expand_path(File.dirname(__FILE__)), "..", "..", "..", "VERSION")
|
4
|
+
MAJOR, MINOR, TINY, EXTRA = File.read(VERSION_FILE).chop.split(".")
|
7
5
|
|
8
|
-
STRING = [MAJOR, MINOR, TINY].join('.')
|
9
|
-
STRING << ".#{EXTRA}" if EXTRA
|
6
|
+
STRING = [MAJOR, MINOR, TINY, EXTRA].compact.join('.')
|
10
7
|
|
11
8
|
##
|
12
9
|
# @return [String]
|
13
|
-
def self.to_s()
|
10
|
+
def self.to_s() STRING end
|
14
11
|
|
15
12
|
##
|
16
13
|
# @return [String]
|
@@ -18,6 +15,6 @@ module RDF::Isomorphic
|
|
18
15
|
|
19
16
|
##
|
20
17
|
# @return [Array(Integer, Integer, Integer)]
|
21
|
-
def self.to_a()
|
18
|
+
def self.to_a() STRING.split(".") end
|
22
19
|
end
|
23
20
|
end
|
metadata
CHANGED
@@ -1,94 +1,78 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdf-isomorphic
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 0
|
10
|
-
version: 1.0.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Ben Lavender
|
14
8
|
- Arto Bendiken
|
15
9
|
autorequire:
|
16
10
|
bindir: bin
|
17
11
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2013-04-13 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: rdf
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 15
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 0
|
33
|
-
version: "1.0"
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ! '>='
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '1.0'
|
34
21
|
type: :runtime
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: rdf-spec
|
38
22
|
prerelease: false
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ! '>='
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '1.0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rdf-spec
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ! '>='
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '1.0'
|
49
35
|
type: :development
|
50
|
-
version_requirements: *id002
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
|
-
name: rspec
|
53
36
|
prerelease: false
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ! '>='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '1.0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rspec
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ! '>='
|
47
|
+
- !ruby/object:Gem::Version
|
64
48
|
version: 2.12.0
|
65
49
|
type: :development
|
66
|
-
version_requirements: *id003
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: yard
|
69
50
|
prerelease: false
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 2.12.0
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: yard
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
80
62
|
version: 0.8.3
|
81
63
|
type: :development
|
82
|
-
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.8.3
|
83
70
|
description: RDF.rb plugin for graph bijections and isomorphic equivalence.
|
84
71
|
email: public-rdf-ruby@w3.org
|
85
72
|
executables: []
|
86
|
-
|
87
73
|
extensions: []
|
88
|
-
|
89
74
|
extra_rdoc_files: []
|
90
|
-
|
91
|
-
files:
|
75
|
+
files:
|
92
76
|
- AUTHORS
|
93
77
|
- README
|
94
78
|
- UNLICENSE
|
@@ -96,40 +80,28 @@ files:
|
|
96
80
|
- lib/rdf/isomorphic/version.rb
|
97
81
|
- lib/rdf/isomorphic.rb
|
98
82
|
homepage: http://github.com/ruby-rdf/rdf-isomorphic
|
99
|
-
licenses:
|
83
|
+
licenses:
|
100
84
|
- Public Domain
|
85
|
+
metadata: {}
|
101
86
|
post_install_message:
|
102
87
|
rdoc_options: []
|
103
|
-
|
104
|
-
require_paths:
|
88
|
+
require_paths:
|
105
89
|
- lib
|
106
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
hash: 51
|
112
|
-
segments:
|
113
|
-
- 1
|
114
|
-
- 8
|
115
|
-
- 2
|
90
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - ! '>='
|
93
|
+
- !ruby/object:Gem::Version
|
116
94
|
version: 1.8.2
|
117
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
hash: 3
|
123
|
-
segments:
|
124
|
-
- 0
|
125
|
-
version: "0"
|
95
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - ! '>='
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '0'
|
126
100
|
requirements: []
|
127
|
-
|
128
101
|
rubyforge_project: rdf
|
129
|
-
rubygems_version:
|
102
|
+
rubygems_version: 2.0.3
|
130
103
|
signing_key:
|
131
|
-
specification_version:
|
104
|
+
specification_version: 4
|
132
105
|
summary: RDF.rb plugin for graph bijections and isomorphic equivalence.
|
133
106
|
test_files: []
|
134
|
-
|
135
107
|
has_rdoc: false
|