rdf-reasoner 0.4.0.beta1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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