shex 0.5.2 → 0.6.3

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.
data/lib/shex.rb CHANGED
@@ -1,8 +1,9 @@
1
1
  ##
2
2
  # A ShEx runtime for RDF.rb.
3
3
  #
4
- # @see http://shex.io/shex-semantics/#shexc
4
+ # @see https://shex.io/shex-semantics/#shexc
5
5
  module ShEx
6
+ require 'rdf'
6
7
  require 'shex/format'
7
8
  autoload :Algebra, 'shex/algebra'
8
9
  autoload :Meta, 'shex/meta'
@@ -33,13 +34,13 @@ module ShEx
33
34
  # @raise (see ShEx::Parser#parse)
34
35
  def self.parse(expression, format: 'shexc', **options)
35
36
  case format.to_s
36
- when 'shexc' then Parser.new(expression, options).parse
37
+ when 'shexc' then Parser.new(expression, **options).parse
37
38
  when 'shexj'
38
39
  expression = expression.read if expression.respond_to?(:read)
39
- Algebra.from_shexj(JSON.parse(expression), options)
40
+ Algebra.from_shexj(JSON.parse(expression), **options)
40
41
  when 'sxp'
41
42
  expression = expression.read if expression.respond_to?(:read)
42
- Algebra.from_sxp(expression, options)
43
+ Algebra.from_sxp(expression, **options)
43
44
  else raise "Unknown expression format: #{format.inspect}"
44
45
  end
45
46
  end
@@ -56,8 +57,8 @@ module ShEx
56
57
  # @return (see ShEx::Parser#parse)
57
58
  # @raise (see ShEx::Parser#parse)
58
59
  def self.open(filename, format: 'shexc', **options, &block)
59
- RDF::Util::File.open_file(filename, options) do |file|
60
- self.parse(file, options.merge(format: format))
60
+ RDF::Util::File.open_file(filename, **options) do |file|
61
+ self.parse(file, format: format, **options)
61
62
  end
62
63
  end
63
64
 
@@ -66,17 +67,17 @@ module ShEx
66
67
  #
67
68
  # @example executing a ShExC schema
68
69
  # graph = RDF::Graph.load("etc/doap.ttl")
69
- # ShEx.execute('etc/doap.shex', graph, "http://rubygems.org/gems/shex", "")
70
+ # ShEx.execute('etc/doap.shex', graph, "https://rubygems.org/gems/shex", "")
70
71
  #
71
72
  # @param [IO, StringIO, String, #to_s] expression (ShExC or ShExJ)
72
73
  # @param (see ShEx::Algebra::Schema#execute)
73
74
  # @return (see ShEx::Algebra::Schema#execute)
74
75
  # @raise (see ShEx::Algebra::Schema#execute)
75
76
  def self.execute(expression, queryable, map, format: 'shexc', **options)
76
- shex = self.parse(expression, options.merge(format: format))
77
+ shex = self.parse(expression, format: format, **options)
77
78
  queryable = queryable || RDF::Graph.new
78
79
 
79
- shex.execute(queryable, map, options)
80
+ shex.execute(queryable, map, **options)
80
81
  end
81
82
 
82
83
  ##
@@ -84,17 +85,17 @@ module ShEx
84
85
  #
85
86
  # @example executing a ShExC schema
86
87
  # graph = RDF::Graph.load("etc/doap.ttl")
87
- # ShEx.execute('etc/doap.shex', graph, "http://rubygems.org/gems/shex", "")
88
+ # ShEx.execute('etc/doap.shex', graph, "https://rubygems.org/gems/shex", "")
88
89
  #
89
90
  # @param [IO, StringIO, String, #to_s] expression (ShExC or ShExJ)
90
91
  # @param (see ShEx::Algebra::Schema#satisfies?)
91
92
  # @return (see ShEx::Algebra::Schema#satisfies?)
92
93
  # @raise (see ShEx::Algebra::Schema#satisfies?)
93
94
  def self.satisfies?(expression, queryable, map, format: 'shexc', **options)
94
- shex = self.parse(expression, options.merge(format: format))
95
+ shex = self.parse(expression, format: format, **options)
95
96
  queryable = queryable || RDF::Graph.new
96
97
 
97
- shex.satisfies?(queryable, map, options)
98
+ shex.satisfies?(queryable, map, **options)
98
99
  end
99
100
 
100
101
  ##
@@ -116,7 +117,7 @@ module ShEx
116
117
  # @param [String, #to_s] message
117
118
  # @param [Hash{Symbol => Object}] options
118
119
  # @option options [Integer] :code (422)
119
- def initialize(message, options = {})
120
+ def initialize(message, **options)
120
121
  @code = options.fetch(:status_code, 422)
121
122
  super(message.to_s)
122
123
  end
metadata CHANGED
@@ -1,77 +1,79 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shex
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregg Kellogg
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-14 00:00:00.000000000 Z
11
+ date: 2021-08-25 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.2'
20
- - - "<"
17
+ - - "~>"
21
18
  - !ruby/object:Gem::Version
22
- version: '4.0'
19
+ version: '3.1'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: '2.2'
30
- - - "<"
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: '4.0'
26
+ version: '3.1'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: json-ld
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: '2.2'
40
- - - "<"
31
+ - - "~>"
41
32
  - !ruby/object:Gem::Version
42
- version: '4.0'
33
+ version: '3.1'
43
34
  type: :runtime
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
46
37
  requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: '2.2'
50
- - - "<"
38
+ - - "~>"
51
39
  - !ruby/object:Gem::Version
52
- version: '4.0'
40
+ version: '3.1'
53
41
  - !ruby/object:Gem::Dependency
54
42
  name: json-ld-preloaded
55
43
  requirement: !ruby/object:Gem::Requirement
56
44
  requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: ebnf
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.1'
57
62
  - - ">="
58
63
  - !ruby/object:Gem::Version
59
64
  version: '2.2'
60
- - - "<"
61
- - !ruby/object:Gem::Version
62
- version: '4.0'
63
65
  type: :runtime
64
66
  prerelease: false
65
67
  version_requirements: !ruby/object:Gem::Requirement
66
68
  requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '2.1'
67
72
  - - ">="
68
73
  - !ruby/object:Gem::Version
69
74
  version: '2.2'
70
- - - "<"
71
- - !ruby/object:Gem::Version
72
- version: '4.0'
73
75
  - !ruby/object:Gem::Dependency
74
- name: ebnf
76
+ name: sxp
75
77
  requirement: !ruby/object:Gem::Requirement
76
78
  requirements:
77
79
  - - "~>"
@@ -85,127 +87,117 @@ dependencies:
85
87
  - !ruby/object:Gem::Version
86
88
  version: '1.1'
87
89
  - !ruby/object:Gem::Dependency
88
- name: sxp
90
+ name: rdf-xsd
89
91
  requirement: !ruby/object:Gem::Requirement
90
92
  requirements:
91
93
  - - "~>"
92
94
  - !ruby/object:Gem::Version
93
- version: '1.0'
95
+ version: '3.1'
94
96
  type: :runtime
95
97
  prerelease: false
96
98
  version_requirements: !ruby/object:Gem::Requirement
97
99
  requirements:
98
100
  - - "~>"
99
101
  - !ruby/object:Gem::Version
100
- version: '1.0'
102
+ version: '3.1'
101
103
  - !ruby/object:Gem::Dependency
102
- name: rdf-xsd
104
+ name: sparql
103
105
  requirement: !ruby/object:Gem::Requirement
104
106
  requirements:
105
- - - ">="
106
- - !ruby/object:Gem::Version
107
- version: '2.2'
108
- - - "<"
107
+ - - "~>"
109
108
  - !ruby/object:Gem::Version
110
- version: '4.0'
109
+ version: '3.1'
111
110
  type: :runtime
112
111
  prerelease: false
113
112
  version_requirements: !ruby/object:Gem::Requirement
114
113
  requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '2.2'
118
- - - "<"
114
+ - - "~>"
119
115
  - !ruby/object:Gem::Version
120
- version: '4.0'
116
+ version: '3.1'
121
117
  - !ruby/object:Gem::Dependency
122
- name: sparql
118
+ name: htmlentities
123
119
  requirement: !ruby/object:Gem::Requirement
124
120
  requirements:
125
- - - ">="
126
- - !ruby/object:Gem::Version
127
- version: '2.2'
128
- - - "<"
121
+ - - "~>"
129
122
  - !ruby/object:Gem::Version
130
- version: '4.0'
123
+ version: '4.3'
131
124
  type: :runtime
132
125
  prerelease: false
133
126
  version_requirements: !ruby/object:Gem::Requirement
134
127
  requirements:
135
- - - ">="
128
+ - - "~>"
136
129
  - !ruby/object:Gem::Version
137
- version: '2.2'
138
- - - "<"
130
+ version: '4.3'
131
+ - !ruby/object:Gem::Dependency
132
+ name: erubis
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
139
136
  - !ruby/object:Gem::Version
140
- version: '4.0'
137
+ version: '2.7'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '2.7'
141
145
  - !ruby/object:Gem::Dependency
142
146
  name: rdf-spec
143
147
  requirement: !ruby/object:Gem::Requirement
144
148
  requirements:
145
- - - ">="
146
- - !ruby/object:Gem::Version
147
- version: '2.2'
148
- - - "<"
149
+ - - "~>"
149
150
  - !ruby/object:Gem::Version
150
- version: '4.0'
151
+ version: '3.1'
151
152
  type: :development
152
153
  prerelease: false
153
154
  version_requirements: !ruby/object:Gem::Requirement
154
155
  requirements:
155
- - - ">="
156
- - !ruby/object:Gem::Version
157
- version: '2.2'
158
- - - "<"
156
+ - - "~>"
159
157
  - !ruby/object:Gem::Version
160
- version: '4.0'
158
+ version: '3.1'
161
159
  - !ruby/object:Gem::Dependency
162
160
  name: rdf-turtle
163
161
  requirement: !ruby/object:Gem::Requirement
164
162
  requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- version: '2.2'
168
- - - "<"
163
+ - - "~>"
169
164
  - !ruby/object:Gem::Version
170
- version: '4.0'
165
+ version: '3.1'
171
166
  type: :development
172
167
  prerelease: false
173
168
  version_requirements: !ruby/object:Gem::Requirement
174
169
  requirements:
175
- - - ">="
176
- - !ruby/object:Gem::Version
177
- version: '2.2'
178
- - - "<"
170
+ - - "~>"
179
171
  - !ruby/object:Gem::Version
180
- version: '4.0'
172
+ version: '3.1'
181
173
  - !ruby/object:Gem::Dependency
182
174
  name: rspec
183
175
  requirement: !ruby/object:Gem::Requirement
184
176
  requirements:
185
177
  - - "~>"
186
178
  - !ruby/object:Gem::Version
187
- version: '3.7'
179
+ version: '3.10'
188
180
  type: :development
189
181
  prerelease: false
190
182
  version_requirements: !ruby/object:Gem::Requirement
191
183
  requirements:
192
184
  - - "~>"
193
185
  - !ruby/object:Gem::Version
194
- version: '3.7'
186
+ version: '3.10'
195
187
  - !ruby/object:Gem::Dependency
196
188
  name: rspec-its
197
189
  requirement: !ruby/object:Gem::Requirement
198
190
  requirements:
199
191
  - - "~>"
200
192
  - !ruby/object:Gem::Version
201
- version: '1.2'
193
+ version: '1.3'
202
194
  type: :development
203
195
  prerelease: false
204
196
  version_requirements: !ruby/object:Gem::Requirement
205
197
  requirements:
206
198
  - - "~>"
207
199
  - !ruby/object:Gem::Version
208
- version: '1.2'
200
+ version: '1.3'
209
201
  - !ruby/object:Gem::Dependency
210
202
  name: yard
211
203
  requirement: !ruby/object:Gem::Requirement
@@ -262,12 +254,12 @@ files:
262
254
  - lib/shex/shex_context.rb
263
255
  - lib/shex/terminals.rb
264
256
  - lib/shex/version.rb
265
- homepage: http://ruby-rdf.github.com/shex
257
+ homepage: https://ruby-rdf.github.com/shex
266
258
  licenses:
267
259
  - Unlicense
268
260
  metadata:
269
261
  yard.run: yri
270
- post_install_message:
262
+ post_install_message:
271
263
  rdoc_options: []
272
264
  require_paths:
273
265
  - lib
@@ -275,16 +267,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
275
267
  requirements:
276
268
  - - ">="
277
269
  - !ruby/object:Gem::Version
278
- version: 2.2.2
270
+ version: '2.4'
279
271
  required_rubygems_version: !ruby/object:Gem::Requirement
280
272
  requirements:
281
273
  - - ">="
282
274
  - !ruby/object:Gem::Version
283
275
  version: '0'
284
276
  requirements: []
285
- rubyforge_project: rdf
286
- rubygems_version: 2.6.14
287
- signing_key:
277
+ rubygems_version: 3.2.15
278
+ signing_key:
288
279
  specification_version: 4
289
280
  summary: Implementation of Shape Expressions (ShEx) for RDF.rb
290
281
  test_files: []