shex 0.5.2 → 0.6.3

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