shex 0.6.0 → 0.6.4

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.
@@ -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: []