shex 0.6.0 → 0.6.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -43,7 +43,11 @@ module ShEx
43
43
  # 160s
44
44
  ECHAR = /\\[tbnrf\\"']/
45
45
 
46
- WS = /(?:\s|(?:#[^\n\r]*))+/m.freeze
46
+ WS = %r((
47
+ \s
48
+ | (?:\#[^\n\r]*)
49
+ | (?:/\*(?:(?:\*[^/])|[^*])*\*/)
50
+ )+)xmu.freeze
47
51
 
48
52
  # 69
49
53
  RDF_TYPE = /a/.freeze
@@ -92,30 +96,6 @@ module ShEx
92
96
  CODE = /\{(?:[^%\\]|\\[%\\]|#{UCHAR})*%#{WS}*\}/m.freeze
93
97
  # 70
94
98
  REPEAT_RANGE = /\{\s*#{INTEGER}(?:,#{WS}*(?:#{INTEGER}|\*)?)?#{WS}*\}/.freeze
95
-
96
- # String terminals, mixed case sensitivity
97
- STR_EXPR = %r(true|false
98
- |\^\^|\/\/
99
- |[\(\)\{\}\[\],\.;\=\-\~!\|\&\@\$\?\+\*\%\^a]|
100
- (?i:OR|AND|NOT
101
- |BASE|PREFIX
102
- |IRI|BNODE|NONLITERAL
103
- |MINLENGTH|MAXLENGTH|LENGTH
104
- |MAXINCLUSIVE|MAXEXCLUSIVE
105
- |MININCLUSIVE|MINEXCLUSIVE
106
- |TOTALDIGITS|FRACTIONDIGITS
107
- |START
108
- |EXTERNAL|CLOSED|EXTRA|LITERAL
109
- )
110
- )x.freeze
111
-
112
- # Map terminals to canonical form
113
- STR_MAP = %w{OR AND NOT BASE PREFIX IRI BNODE NONLITERAL
114
- MINLENGTH MAXLENGTH LENGTH MININCLUSIVE MAXINCLUSIVE MINEXCLUSIVE MAXEXCLUSIVE
115
- TOTALDIGITS FRACTIONDIGITS START EXTERNAL CLOSED EXTRA LITERAL}.
116
- inject({}) do |memo, t|
117
- memo.merge(t.downcase => t)
118
- end
119
99
 
120
100
  end
121
101
  end
data/lib/shex.rb CHANGED
@@ -1,9 +1,12 @@
1
+ require 'rdf'
2
+ require 'sxp'
3
+ require 'shex/format'
4
+
1
5
  ##
2
6
  # A ShEx runtime for RDF.rb.
3
7
  #
4
- # @see http://shex.io/shex-semantics/#shexc
8
+ # @see https://shex.io/shex-semantics/#shexc
5
9
  module ShEx
6
- require 'shex/format'
7
10
  autoload :Algebra, 'shex/algebra'
8
11
  autoload :Meta, 'shex/meta'
9
12
  autoload :Parser, 'shex/parser'
@@ -66,7 +69,7 @@ module ShEx
66
69
  #
67
70
  # @example executing a ShExC schema
68
71
  # graph = RDF::Graph.load("etc/doap.ttl")
69
- # ShEx.execute('etc/doap.shex', graph, "http://rubygems.org/gems/shex", "")
72
+ # ShEx.execute('etc/doap.shex', graph, "https://rubygems.org/gems/shex", "")
70
73
  #
71
74
  # @param [IO, StringIO, String, #to_s] expression (ShExC or ShExJ)
72
75
  # @param (see ShEx::Algebra::Schema#execute)
@@ -84,7 +87,7 @@ module ShEx
84
87
  #
85
88
  # @example executing a ShExC schema
86
89
  # graph = RDF::Graph.load("etc/doap.ttl")
87
- # ShEx.execute('etc/doap.shex', graph, "http://rubygems.org/gems/shex", "")
90
+ # ShEx.execute('etc/doap.shex', graph, "https://rubygems.org/gems/shex", "")
88
91
  #
89
92
  # @param [IO, StringIO, String, #to_s] expression (ShExC or ShExJ)
90
93
  # @param (see ShEx::Algebra::Schema#satisfies?)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shex
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.4
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: 2019-12-15 00:00:00.000000000 Z
11
+ date: 2021-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdf
@@ -58,14 +58,20 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.2'
61
+ version: '2.1'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: '2.2'
62
65
  type: :runtime
63
66
  prerelease: false
64
67
  version_requirements: !ruby/object:Gem::Requirement
65
68
  requirements:
66
69
  - - "~>"
67
70
  - !ruby/object:Gem::Version
68
- version: '1.2'
71
+ version: '2.1'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '2.2'
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: sxp
71
77
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +114,34 @@ dependencies:
108
114
  - - "~>"
109
115
  - !ruby/object:Gem::Version
110
116
  version: '3.1'
117
+ - !ruby/object:Gem::Dependency
118
+ name: htmlentities
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '4.3'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '4.3'
131
+ - !ruby/object:Gem::Dependency
132
+ name: erubis
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
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'
111
145
  - !ruby/object:Gem::Dependency
112
146
  name: rdf-spec
113
147
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +176,14 @@ dependencies:
142
176
  requirements:
143
177
  - - "~>"
144
178
  - !ruby/object:Gem::Version
145
- version: '3.9'
179
+ version: '3.10'
146
180
  type: :development
147
181
  prerelease: false
148
182
  version_requirements: !ruby/object:Gem::Requirement
149
183
  requirements:
150
184
  - - "~>"
151
185
  - !ruby/object:Gem::Version
152
- version: '3.9'
186
+ version: '3.10'
153
187
  - !ruby/object:Gem::Dependency
154
188
  name: rspec-its
155
189
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +204,14 @@ dependencies:
170
204
  requirements:
171
205
  - - "~>"
172
206
  - !ruby/object:Gem::Version
173
- version: 0.9.20
207
+ version: '0.9'
174
208
  type: :development
175
209
  prerelease: false
176
210
  version_requirements: !ruby/object:Gem::Requirement
177
211
  requirements:
178
212
  - - "~>"
179
213
  - !ruby/object:Gem::Version
180
- version: 0.9.20
214
+ version: '0.9'
181
215
  description: Implements ShExC and ShEx JSON.
182
216
  email: public-rdf-ruby@w3.org
183
217
  executables: []
@@ -196,6 +230,7 @@ files:
196
230
  - lib/shex/algebra/annotation.rb
197
231
  - lib/shex/algebra/each_of.rb
198
232
  - lib/shex/algebra/external.rb
233
+ - lib/shex/algebra/import.rb
199
234
  - lib/shex/algebra/language.rb
200
235
  - lib/shex/algebra/node_constraint.rb
201
236
  - lib/shex/algebra/not.rb
@@ -220,12 +255,12 @@ files:
220
255
  - lib/shex/shex_context.rb
221
256
  - lib/shex/terminals.rb
222
257
  - lib/shex/version.rb
223
- homepage: http://ruby-rdf.github.com/shex
258
+ homepage: https://ruby-rdf.github.com/shex
224
259
  licenses:
225
260
  - Unlicense
226
261
  metadata:
227
262
  yard.run: yri
228
- post_install_message:
263
+ post_install_message:
229
264
  rdoc_options: []
230
265
  require_paths:
231
266
  - lib
@@ -240,8 +275,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
240
275
  - !ruby/object:Gem::Version
241
276
  version: '0'
242
277
  requirements: []
243
- rubygems_version: 3.0.6
244
- signing_key:
278
+ rubygems_version: 3.2.22
279
+ signing_key:
245
280
  specification_version: 4
246
281
  summary: Implementation of Shape Expressions (ShEx) for RDF.rb
247
282
  test_files: []