rdf-reasoner 0.4.0.beta1 → 0.4.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a2462f0f18c4790b96eac4f876b5b86e02dcf954
4
- data.tar.gz: b4bbb74da3b2aabb56cd0aec8342b81e5ee77ec3
3
+ metadata.gz: f519d63f62d46294c8c459b62ffa5cc0ec678f2c
4
+ data.tar.gz: 8987fe2050be4cf328b5749df311f15e514fba2d
5
5
  SHA512:
6
- metadata.gz: 00d0ba92e3a61bf6a4d9b584121a2979670d65188b6b1afee2ee388763a10b414aa13d09a01a997a2246954b541632c258b22903846b3aa5eb7ef08297de296e
7
- data.tar.gz: 1d8dd8ced1e8a0a87919287d9b2a0db357783e8e922a0134ebe7ce50d05b4a17dc2e709bc2dce1206f552cfd0ac7a17daed324da4b3775246c193d60ff8bbbf5
6
+ metadata.gz: 6fbea5eecc04728ae65f46d9aca05dd5abb1324cc9296bc1e173c3f65dd4f227486ce4664a0bfdd0a8b35fcc3d334f154e87603cd2a1a200f325bf428196d877
7
+ data.tar.gz: 92ba7bd1e699fe8b1c97d1c835c9b4f37667621abfb937be6aac2274c6721a77a086b5a6d692f86dc3c744bce64aee40fc247c0ea5cdee6164fb452929d1db46
data/README.md CHANGED
@@ -12,6 +12,7 @@ Reasons over RDFS/OWL vocabularies and schema.org to generate statements which a
12
12
  * Entail `owl:equivalentProperty` generating an array of terms equivalent to the subject.
13
13
  * `domainCompatible?` determines if a particular resource is compatible with the domain definition of a given predicate, based on the intersection of entailed subclasses with the property domain.
14
14
  * `rangeCompatible?` determines if a particular resource is compatible with the range definition of a given predicate, based on the intersection of entailed subclasses or literal types with the property domain.
15
+ * adds `entail` and `lint` commands to the `rdf` command line interface
15
16
 
16
17
  Domain and Range entailment include specific rules for schema.org vocabularies.
17
18
 
@@ -68,7 +69,7 @@ Domain and Range entailment include specific rules for schema.org vocabularies.
68
69
  require 'rdf/reasoner'
69
70
  require 'rdf/turtle'
70
71
 
71
- RDF::Reasoner.apply(::owl)
72
+ RDF::Reasoner.apply(:owl)
72
73
  graph = RDF::Graph.load("etc/doap.ttl")
73
74
  graph.entail!(:equivalentClass)
74
75
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0.beta1
1
+ 0.4.0
@@ -1,5 +1,6 @@
1
1
  require 'rdf'
2
2
  require 'rdf/reasoner/extensions'
3
+ require 'rdf/vocab'
3
4
 
4
5
  module RDF
5
6
  ##
@@ -8,6 +9,7 @@ module RDF
8
9
  # @see http://www.w3.org/TR/2013/REC-sparql11-entailment-20130321/
9
10
  # @author [Gregg Kellogg](http://greggkellogg.net/)
10
11
  module Reasoner
12
+ require 'rdf/reasoner/format'
11
13
  autoload :OWL, 'rdf/reasoner/owl'
12
14
  autoload :RDFS, 'rdf/reasoner/rdfs'
13
15
  autoload :Schema, 'rdf/reasoner/schema'
@@ -0,0 +1,49 @@
1
+ module RDF::Reasoner
2
+ ##
3
+ # LD::Patch format specification. Note that this format does not define any readers or writers.
4
+ #
5
+ # @example Obtaining an LD Patch format class
6
+ # RDF::Format.for(:reasoner) #=> RDF::Reasoner::Format
7
+ #
8
+ # @see http://www.w3.org/TR/ldpatch/
9
+ class Format < RDF::Format
10
+
11
+ ##
12
+ # Hash of CLI commands appropriate for this format
13
+ # @return [Hash{Symbol => Lambda(Array, Hash)}]
14
+ def self.cli_commands
15
+ {
16
+ entail: {
17
+ description: "Perform RDFS entailment to expand the repository based on referenced built-in vocabuaries",
18
+ help: "entail",
19
+ parse: true,
20
+ lambda: ->(argv, opts) do
21
+ RDF::Reasoner.apply(:rdfs, :owl, :schema)
22
+ start, stmt_cnt = Time.now, RDF::CLI.repository.count
23
+ RDF::CLI.repository.entail!
24
+ secs, new_cnt = (Time.new - start), (RDF::CLI.repository.count - stmt_cnt)
25
+ $stdout.puts "\nEntailed #{new_cnt} new statements in #{secs} seconds."
26
+ end
27
+ },
28
+ lint: {
29
+ description: "Lint the repository using built-in vocabularies",
30
+ help: "lint",
31
+ parse: true,
32
+ lambda: ->(argv, opts) do
33
+ RDF::Reasoner.apply(:rdfs, :owl, :schema)
34
+ start = Time.now
35
+ messages = RDF::CLI.repository.lint
36
+ secs = Time.new - start
37
+ messages.each do |kind, term_messages|
38
+ term_messages.each do |term, messages|
39
+ $stdout.puts "#{kind} #{term}"
40
+ messages.each {|m| $stdout.puts " #{m}"}
41
+ end
42
+ end
43
+ $stdout.puts "\nLinted in #{secs} seconds."
44
+ end
45
+ }
46
+ }
47
+ end
48
+ end
49
+ end
metadata CHANGED
@@ -1,115 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdf-reasoner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0.beta1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregg Kellogg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-22 00:00:00.000000000 Z
11
+ date: 2016-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdf
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 2.0.0.beta
20
- - - "<"
17
+ - - "~>"
21
18
  - !ruby/object:Gem::Version
22
- version: '3'
19
+ version: '2.0'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ">="
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: 2.0.0.beta
30
- - - "<"
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rdf-vocab
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
31
32
  - !ruby/object:Gem::Version
32
- version: '3'
33
+ version: '2.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.0'
33
41
  - !ruby/object:Gem::Dependency
34
42
  name: rdf-xsd
35
43
  requirement: !ruby/object:Gem::Requirement
36
44
  requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: 2.0.0.beta
40
- - - "<"
45
+ - - "~>"
41
46
  - !ruby/object:Gem::Version
42
- version: '3'
47
+ version: '2.0'
43
48
  type: :runtime
44
49
  prerelease: false
45
50
  version_requirements: !ruby/object:Gem::Requirement
46
51
  requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: 2.0.0.beta
50
- - - "<"
52
+ - - "~>"
51
53
  - !ruby/object:Gem::Version
52
- version: '3'
54
+ version: '2.0'
53
55
  - !ruby/object:Gem::Dependency
54
- name: json-ld
56
+ name: rdf-spec
55
57
  requirement: !ruby/object:Gem::Requirement
56
58
  requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- version: 2.0.0.beta
60
- - - "<"
59
+ - - "~>"
61
60
  - !ruby/object:Gem::Version
62
- version: '3'
63
- type: :development
61
+ version: '2.0'
62
+ type: :runtime
64
63
  prerelease: false
65
64
  version_requirements: !ruby/object:Gem::Requirement
66
65
  requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: 2.0.0.beta
70
- - - "<"
66
+ - - "~>"
71
67
  - !ruby/object:Gem::Version
72
- version: '3'
68
+ version: '2.0'
73
69
  - !ruby/object:Gem::Dependency
74
- name: rdf-turtle
70
+ name: json-ld
75
71
  requirement: !ruby/object:Gem::Requirement
76
72
  requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- version: 2.0.0.beta
80
- - - "<"
73
+ - - "~>"
81
74
  - !ruby/object:Gem::Version
82
- version: '3'
75
+ version: '2.0'
83
76
  type: :development
84
77
  prerelease: false
85
78
  version_requirements: !ruby/object:Gem::Requirement
86
79
  requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: 2.0.0.beta
90
- - - "<"
80
+ - - "~>"
91
81
  - !ruby/object:Gem::Version
92
- version: '3'
82
+ version: '2.0'
93
83
  - !ruby/object:Gem::Dependency
94
- name: rdf-vocab
84
+ name: rdf-turtle
95
85
  requirement: !ruby/object:Gem::Requirement
96
86
  requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: 2.0.0.beta
100
- - - "<"
87
+ - - "~>"
101
88
  - !ruby/object:Gem::Version
102
- version: '3'
89
+ version: '2.0'
103
90
  type: :development
104
91
  prerelease: false
105
92
  version_requirements: !ruby/object:Gem::Requirement
106
93
  requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: 2.0.0.beta
110
- - - "<"
94
+ - - "~>"
111
95
  - !ruby/object:Gem::Version
112
- version: '3'
96
+ version: '2.0'
113
97
  - !ruby/object:Gem::Dependency
114
98
  name: equivalent-xml
115
99
  requirement: !ruby/object:Gem::Requirement
@@ -167,6 +151,7 @@ files:
167
151
  - VERSION
168
152
  - lib/rdf/reasoner.rb
169
153
  - lib/rdf/reasoner/extensions.rb
154
+ - lib/rdf/reasoner/format.rb
170
155
  - lib/rdf/reasoner/owl.rb
171
156
  - lib/rdf/reasoner/rdfs.rb
172
157
  - lib/rdf/reasoner/schema.rb
@@ -186,12 +171,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
186
171
  version: '2.0'
187
172
  required_rubygems_version: !ruby/object:Gem::Requirement
188
173
  requirements:
189
- - - ">"
174
+ - - ">="
190
175
  - !ruby/object:Gem::Version
191
- version: 1.3.1
176
+ version: '0'
192
177
  requirements: []
193
178
  rubyforge_project:
194
- rubygems_version: 2.5.1
179
+ rubygems_version: 2.4.8
195
180
  signing_key:
196
181
  specification_version: 4
197
182
  summary: RDFS/OWL Reasoner for RDF.rb