rdf-turtle 1.0.6 → 1.0.7
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.
- checksums.yaml +15 -0
- data/README.md +6 -4
- data/VERSION +1 -1
- data/lib/rdf/turtle/meta.rb +133 -117
- data/lib/rdf/turtle/reader.rb +10 -30
- data/lib/rdf/turtle/terminals.rb +5 -5
- metadata +7 -30
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
OGU0NjNjOTY4OGRhZDhlYzZlMjUxNWZlMGVkZTYzNmY1NmY3ODc4MQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
YTVjMGZjNDI2YTBiNmQyZmY4OGMyNGFjOTkxNTVlYTYzODJmZDljMA==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MWExYmZhNGI0Y2Y4YzE4NDQzY2ExNjlkZmExM2NlYzgzMjUxNWQwZTk4Mzhl
|
10
|
+
YzY5NTgyZWM2NjQyZWY2NWIxNWMwNWRmNTRlYWYzMzhmMWQzNmY5YmExMjQ0
|
11
|
+
ZDMyOTYzZTA5NzU1MTQxZDAyMmJjZWEyMDVkMGZjOWQwMmY1MzQ=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NDQxNzlmNGIwYjFlNmU3M2QwNGIwZmEyMWM4ZTBhMDJlMWU1OTg0YjQ4N2Ey
|
14
|
+
NmEyNDlmYzZlY2Q3MmVhZjcxZDBhMmU4MjkyODRjOWVjMzE3YmU2MjE3ZWU5
|
15
|
+
MmEzMjdmZDRhOTM0Mjk0Y2ZkYWI0YmQ1MjIwMGQyZjBhYjY1NGI=
|
data/README.md
CHANGED
@@ -45,16 +45,18 @@ Full documentation available on [Rubydoc.info][Turtle doc]
|
|
45
45
|
### Variations from the spec
|
46
46
|
In some cases, the specification is unclear on certain issues:
|
47
47
|
|
48
|
-
*
|
49
|
-
|
50
|
-
|
48
|
+
* The LC version of the [Turtle][] specification separates rules for `@base` and `@prefix` with
|
49
|
+
closing '.' from the
|
50
|
+
SPARQL-like `BASE` and `PREFIX` without closing '.'. This version implements a more flexible
|
51
|
+
syntax where the `@` and closing `.` are optional and `base/prefix` are matched case independently.
|
52
|
+
* Additionally, both `a` and `A` match `rdf:type`.
|
51
53
|
|
52
54
|
### Freebase-specific Reader
|
53
55
|
There is a special reader useful for processing [Freebase Dumps][]. To invoke
|
54
56
|
this, add the `:freebase => true` option to the {RDF::Turtle::Reader.new}, or
|
55
57
|
use {RDF::Turtle::FreebaseReader} directly. As with {RDF::Turtle::Reader},
|
56
58
|
prefix definitions may be passed in using the `:prefixes` option to
|
57
|
-
|
59
|
+
RDF::Turtle::FreebaseReader} using the standard mechanism defined
|
58
60
|
for `RDF::Reader`.
|
59
61
|
|
60
62
|
The [Freebase Dumps][] have a very normalized form, similar to N-Triples but
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.7
|
data/lib/rdf/turtle/meta.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# This file is automatically generated by /Users/gregg/.rvm/gems/ruby-1.9.3-
|
1
|
+
# This file is automatically generated by /Users/gregg/.rvm/gems/ruby-1.9.3-p392/bundler/gems/ebnf-af9a669d518f/bin/ebnf
|
2
2
|
# BRANCH derived from etc/turtle.bnf
|
3
3
|
module RDF::Turtle::Meta
|
4
4
|
START = :turtleDoc
|
@@ -66,7 +66,19 @@ module RDF::Turtle::Meta
|
|
66
66
|
:STRING_LITERAL_SINGLE_QUOTE => [:STRING_LITERAL_SINGLE_QUOTE],
|
67
67
|
},
|
68
68
|
:base => {
|
69
|
-
|
69
|
+
:BASE => [:BASE, :IRIREF, :_base_1],
|
70
|
+
},
|
71
|
+
:_base_1 => {
|
72
|
+
"(" => [],
|
73
|
+
"." => ["."],
|
74
|
+
:ANON => [],
|
75
|
+
:BASE => [],
|
76
|
+
:BLANK_NODE_LABEL => [],
|
77
|
+
:IRIREF => [],
|
78
|
+
:PNAME_LN => [],
|
79
|
+
:PNAME_NS => [],
|
80
|
+
:PREFIX => [],
|
81
|
+
"[" => [],
|
70
82
|
},
|
71
83
|
:blankNodePropertyList => {
|
72
84
|
"[" => ["[", :predicateObjectList, "]"],
|
@@ -112,10 +124,8 @@ module RDF::Turtle::Meta
|
|
112
124
|
"true" => [:object, :_collection_1],
|
113
125
|
},
|
114
126
|
:directive => {
|
115
|
-
|
116
|
-
|
117
|
-
:SPARQL_BASE => [:sparqlBase],
|
118
|
-
:SPARQL_PREFIX => [:sparqlPrefix],
|
127
|
+
:BASE => [:base],
|
128
|
+
:PREFIX => [:prefixID],
|
119
129
|
},
|
120
130
|
:iri => {
|
121
131
|
:IRIREF => [:IRIREF],
|
@@ -187,6 +197,7 @@ module RDF::Turtle::Meta
|
|
187
197
|
:PNAME_NS => [:iri],
|
188
198
|
},
|
189
199
|
:predicateObjectList => {
|
200
|
+
"A" => [:verb, :objectList, :_predicateObjectList_1],
|
190
201
|
:IRIREF => [:verb, :objectList, :_predicateObjectList_1],
|
191
202
|
:PNAME_LN => [:verb, :objectList, :_predicateObjectList_1],
|
192
203
|
:PNAME_NS => [:verb, :objectList, :_predicateObjectList_1],
|
@@ -206,6 +217,7 @@ module RDF::Turtle::Meta
|
|
206
217
|
:_predicateObjectList_4 => {
|
207
218
|
"." => [],
|
208
219
|
";" => [],
|
220
|
+
"A" => [:_predicateObjectList_5],
|
209
221
|
:IRIREF => [:_predicateObjectList_5],
|
210
222
|
:PNAME_LN => [:_predicateObjectList_5],
|
211
223
|
:PNAME_NS => [:_predicateObjectList_5],
|
@@ -213,31 +225,36 @@ module RDF::Turtle::Meta
|
|
213
225
|
"a" => [:_predicateObjectList_5],
|
214
226
|
},
|
215
227
|
:_predicateObjectList_5 => {
|
228
|
+
"A" => [:verb, :objectList],
|
216
229
|
:IRIREF => [:verb, :objectList],
|
217
230
|
:PNAME_LN => [:verb, :objectList],
|
218
231
|
:PNAME_NS => [:verb, :objectList],
|
219
232
|
"a" => [:verb, :objectList],
|
220
233
|
},
|
221
234
|
:prefixID => {
|
222
|
-
|
223
|
-
},
|
224
|
-
:sparqlBase => {
|
225
|
-
:SPARQL_BASE => [:SPARQL_BASE, :IRIREF],
|
235
|
+
:PREFIX => [:PREFIX, :PNAME_NS, :IRIREF, :_prefixID_1],
|
226
236
|
},
|
227
|
-
:
|
228
|
-
|
237
|
+
:_prefixID_1 => {
|
238
|
+
"(" => [],
|
239
|
+
"." => ["."],
|
240
|
+
:ANON => [],
|
241
|
+
:BASE => [],
|
242
|
+
:BLANK_NODE_LABEL => [],
|
243
|
+
:IRIREF => [],
|
244
|
+
:PNAME_LN => [],
|
245
|
+
:PNAME_NS => [],
|
246
|
+
:PREFIX => [],
|
247
|
+
"[" => [],
|
229
248
|
},
|
230
249
|
:statement => {
|
231
250
|
"(" => [:_statement_1],
|
232
|
-
"@base" => [:directive],
|
233
|
-
"@prefix" => [:directive],
|
234
251
|
:ANON => [:_statement_1],
|
252
|
+
:BASE => [:directive],
|
235
253
|
:BLANK_NODE_LABEL => [:_statement_1],
|
236
254
|
:IRIREF => [:_statement_1],
|
237
255
|
:PNAME_LN => [:_statement_1],
|
238
256
|
:PNAME_NS => [:_statement_1],
|
239
|
-
:
|
240
|
-
:SPARQL_PREFIX => [:directive],
|
257
|
+
:PREFIX => [:directive],
|
241
258
|
"[" => [:_statement_1],
|
242
259
|
},
|
243
260
|
:_statement_1 => {
|
@@ -279,6 +296,7 @@ module RDF::Turtle::Meta
|
|
279
296
|
},
|
280
297
|
:_triples_3 => {
|
281
298
|
"." => [],
|
299
|
+
"A" => [:predicateObjectList],
|
282
300
|
:IRIREF => [:predicateObjectList],
|
283
301
|
:PNAME_LN => [:predicateObjectList],
|
284
302
|
:PNAME_NS => [:predicateObjectList],
|
@@ -286,31 +304,28 @@ module RDF::Turtle::Meta
|
|
286
304
|
},
|
287
305
|
:turtleDoc => {
|
288
306
|
"(" => [:_turtleDoc_1],
|
289
|
-
"@base" => [:_turtleDoc_1],
|
290
|
-
"@prefix" => [:_turtleDoc_1],
|
291
307
|
:ANON => [:_turtleDoc_1],
|
308
|
+
:BASE => [:_turtleDoc_1],
|
292
309
|
:BLANK_NODE_LABEL => [:_turtleDoc_1],
|
293
310
|
:IRIREF => [:_turtleDoc_1],
|
294
311
|
:PNAME_LN => [:_turtleDoc_1],
|
295
312
|
:PNAME_NS => [:_turtleDoc_1],
|
296
|
-
:
|
297
|
-
:SPARQL_PREFIX => [:_turtleDoc_1],
|
313
|
+
:PREFIX => [:_turtleDoc_1],
|
298
314
|
"[" => [:_turtleDoc_1],
|
299
315
|
},
|
300
316
|
:_turtleDoc_1 => {
|
301
317
|
"(" => [:statement, :turtleDoc],
|
302
|
-
"@base" => [:statement, :turtleDoc],
|
303
|
-
"@prefix" => [:statement, :turtleDoc],
|
304
318
|
:ANON => [:statement, :turtleDoc],
|
319
|
+
:BASE => [:statement, :turtleDoc],
|
305
320
|
:BLANK_NODE_LABEL => [:statement, :turtleDoc],
|
306
321
|
:IRIREF => [:statement, :turtleDoc],
|
307
322
|
:PNAME_LN => [:statement, :turtleDoc],
|
308
323
|
:PNAME_NS => [:statement, :turtleDoc],
|
309
|
-
:
|
310
|
-
:SPARQL_PREFIX => [:statement, :turtleDoc],
|
324
|
+
:PREFIX => [:statement, :turtleDoc],
|
311
325
|
"[" => [:statement, :turtleDoc],
|
312
326
|
},
|
313
327
|
:verb => {
|
328
|
+
"A" => ["A"],
|
314
329
|
:IRIREF => [:predicate],
|
315
330
|
:PNAME_LN => [:predicate],
|
316
331
|
:PNAME_NS => [:predicate],
|
@@ -323,9 +338,9 @@ module RDF::Turtle::Meta
|
|
323
338
|
",",
|
324
339
|
".",
|
325
340
|
";",
|
326
|
-
"
|
327
|
-
"@prefix",
|
341
|
+
"A",
|
328
342
|
:ANON,
|
343
|
+
:BASE,
|
329
344
|
:BLANK_NODE_LABEL,
|
330
345
|
:DECIMAL,
|
331
346
|
:DOUBLE,
|
@@ -334,8 +349,7 @@ module RDF::Turtle::Meta
|
|
334
349
|
:LANGTAG,
|
335
350
|
:PNAME_LN,
|
336
351
|
:PNAME_NS,
|
337
|
-
:
|
338
|
-
:SPARQL_PREFIX,
|
352
|
+
:PREFIX,
|
339
353
|
:STRING_LITERAL_LONG_QUOTE,
|
340
354
|
:STRING_LITERAL_LONG_SINGLE_QUOTE,
|
341
355
|
:STRING_LITERAL_QUOTE,
|
@@ -385,12 +399,19 @@ module RDF::Turtle::Meta
|
|
385
399
|
:STRING_LITERAL_LONG_SINGLE_QUOTE,
|
386
400
|
:STRING_LITERAL_LONG_QUOTE],
|
387
401
|
:base => [
|
388
|
-
|
402
|
+
:BASE],
|
389
403
|
:_base_1 => [
|
404
|
+
".",
|
405
|
+
:_eps],
|
406
|
+
:_base_2 => [
|
390
407
|
:IRIREF],
|
408
|
+
:_base_3 => [
|
409
|
+
".",
|
410
|
+
:_eps],
|
391
411
|
:blankNodePropertyList => [
|
392
412
|
"["],
|
393
413
|
:_blankNodePropertyList_1 => [
|
414
|
+
"A",
|
394
415
|
"a",
|
395
416
|
:IRIREF,
|
396
417
|
:PNAME_LN,
|
@@ -473,10 +494,8 @@ module RDF::Turtle::Meta
|
|
473
494
|
:_collection_5 => [
|
474
495
|
")"],
|
475
496
|
:directive => [
|
476
|
-
|
477
|
-
|
478
|
-
:SPARQL_PREFIX,
|
479
|
-
:SPARQL_BASE],
|
497
|
+
:PREFIX,
|
498
|
+
:BASE],
|
480
499
|
:_empty => [
|
481
500
|
:_eps],
|
482
501
|
:iri => [
|
@@ -562,6 +581,7 @@ module RDF::Turtle::Meta
|
|
562
581
|
:PNAME_LN,
|
563
582
|
:PNAME_NS],
|
564
583
|
:predicateObjectList => [
|
584
|
+
"A",
|
565
585
|
"a",
|
566
586
|
:IRIREF,
|
567
587
|
:PNAME_LN,
|
@@ -575,11 +595,13 @@ module RDF::Turtle::Meta
|
|
575
595
|
";"],
|
576
596
|
:_predicateObjectList_4 => [
|
577
597
|
:_eps,
|
598
|
+
"A",
|
578
599
|
"a",
|
579
600
|
:IRIREF,
|
580
601
|
:PNAME_LN,
|
581
602
|
:PNAME_NS],
|
582
603
|
:_predicateObjectList_5 => [
|
604
|
+
"A",
|
583
605
|
"a",
|
584
606
|
:IRIREF,
|
585
607
|
:PNAME_LN,
|
@@ -606,6 +628,7 @@ module RDF::Turtle::Meta
|
|
606
628
|
";"],
|
607
629
|
:_predicateObjectList_8 => [
|
608
630
|
:_eps,
|
631
|
+
"A",
|
609
632
|
"a",
|
610
633
|
:IRIREF,
|
611
634
|
:PNAME_LN,
|
@@ -628,22 +651,20 @@ module RDF::Turtle::Meta
|
|
628
651
|
:STRING_LITERAL_LONG_SINGLE_QUOTE,
|
629
652
|
:STRING_LITERAL_LONG_QUOTE],
|
630
653
|
:prefixID => [
|
631
|
-
|
654
|
+
:PREFIX],
|
632
655
|
:_prefixID_1 => [
|
656
|
+
".",
|
657
|
+
:_eps],
|
658
|
+
:_prefixID_2 => [
|
633
659
|
:PNAME_NS],
|
634
|
-
:
|
635
|
-
:SPARQL_BASE],
|
636
|
-
:_sparqlBase_1 => [
|
660
|
+
:_prefixID_3 => [
|
637
661
|
:IRIREF],
|
638
|
-
:
|
639
|
-
|
640
|
-
|
641
|
-
:PNAME_NS],
|
662
|
+
:_prefixID_4 => [
|
663
|
+
".",
|
664
|
+
:_eps],
|
642
665
|
:statement => [
|
643
|
-
|
644
|
-
|
645
|
-
:SPARQL_PREFIX,
|
646
|
-
:SPARQL_BASE,
|
666
|
+
:PREFIX,
|
667
|
+
:BASE,
|
647
668
|
"[",
|
648
669
|
:IRIREF,
|
649
670
|
:BLANK_NODE_LABEL,
|
@@ -687,27 +708,28 @@ module RDF::Turtle::Meta
|
|
687
708
|
"["],
|
688
709
|
:_triples_3 => [
|
689
710
|
:_eps,
|
711
|
+
"A",
|
690
712
|
"a",
|
691
713
|
:IRIREF,
|
692
714
|
:PNAME_LN,
|
693
715
|
:PNAME_NS],
|
694
716
|
:_triples_4 => [
|
717
|
+
"A",
|
695
718
|
"a",
|
696
719
|
:IRIREF,
|
697
720
|
:PNAME_LN,
|
698
721
|
:PNAME_NS],
|
699
722
|
:_triples_5 => [
|
700
723
|
:_eps,
|
724
|
+
"A",
|
701
725
|
"a",
|
702
726
|
:IRIREF,
|
703
727
|
:PNAME_LN,
|
704
728
|
:PNAME_NS],
|
705
729
|
:turtleDoc => [
|
706
730
|
:_eps,
|
707
|
-
|
708
|
-
|
709
|
-
:SPARQL_PREFIX,
|
710
|
-
:SPARQL_BASE,
|
731
|
+
:PREFIX,
|
732
|
+
:BASE,
|
711
733
|
"[",
|
712
734
|
:IRIREF,
|
713
735
|
:BLANK_NODE_LABEL,
|
@@ -716,10 +738,8 @@ module RDF::Turtle::Meta
|
|
716
738
|
:PNAME_LN,
|
717
739
|
:PNAME_NS],
|
718
740
|
:_turtleDoc_1 => [
|
719
|
-
|
720
|
-
|
721
|
-
:SPARQL_PREFIX,
|
722
|
-
:SPARQL_BASE,
|
741
|
+
:PREFIX,
|
742
|
+
:BASE,
|
723
743
|
"[",
|
724
744
|
:IRIREF,
|
725
745
|
:BLANK_NODE_LABEL,
|
@@ -729,10 +749,8 @@ module RDF::Turtle::Meta
|
|
729
749
|
:PNAME_NS],
|
730
750
|
:_turtleDoc_2 => [
|
731
751
|
:_eps,
|
732
|
-
|
733
|
-
|
734
|
-
:SPARQL_PREFIX,
|
735
|
-
:SPARQL_BASE,
|
752
|
+
:PREFIX,
|
753
|
+
:BASE,
|
736
754
|
"[",
|
737
755
|
:IRIREF,
|
738
756
|
:BLANK_NODE_LABEL,
|
@@ -741,6 +759,7 @@ module RDF::Turtle::Meta
|
|
741
759
|
:PNAME_LN,
|
742
760
|
:PNAME_NS],
|
743
761
|
:verb => [
|
762
|
+
"A",
|
744
763
|
"a",
|
745
764
|
:IRIREF,
|
746
765
|
:PNAME_LN,
|
@@ -748,6 +767,7 @@ module RDF::Turtle::Meta
|
|
748
767
|
}.freeze
|
749
768
|
FOLLOW = {
|
750
769
|
:BlankNode => [
|
770
|
+
"A",
|
751
771
|
"a",
|
752
772
|
")",
|
753
773
|
",",
|
@@ -815,6 +835,7 @@ module RDF::Turtle::Meta
|
|
815
835
|
:STRING_LITERAL_LONG_SINGLE_QUOTE,
|
816
836
|
:STRING_LITERAL_LONG_QUOTE],
|
817
837
|
:PrefixedName => [
|
838
|
+
"A",
|
818
839
|
"a",
|
819
840
|
:IRIREF,
|
820
841
|
:BLANK_NODE_LABEL,
|
@@ -973,10 +994,8 @@ module RDF::Turtle::Meta
|
|
973
994
|
:STRING_LITERAL_LONG_QUOTE],
|
974
995
|
:base => [
|
975
996
|
:_eof,
|
976
|
-
|
977
|
-
|
978
|
-
:SPARQL_PREFIX,
|
979
|
-
:SPARQL_BASE,
|
997
|
+
:PREFIX,
|
998
|
+
:BASE,
|
980
999
|
"[",
|
981
1000
|
:IRIREF,
|
982
1001
|
:BLANK_NODE_LABEL,
|
@@ -986,10 +1005,30 @@ module RDF::Turtle::Meta
|
|
986
1005
|
:PNAME_NS],
|
987
1006
|
:_base_1 => [
|
988
1007
|
:_eof,
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
:
|
1008
|
+
:PREFIX,
|
1009
|
+
:BASE,
|
1010
|
+
"[",
|
1011
|
+
:IRIREF,
|
1012
|
+
:BLANK_NODE_LABEL,
|
1013
|
+
:ANON,
|
1014
|
+
"(",
|
1015
|
+
:PNAME_LN,
|
1016
|
+
:PNAME_NS],
|
1017
|
+
:_base_2 => [
|
1018
|
+
:_eof,
|
1019
|
+
:PREFIX,
|
1020
|
+
:BASE,
|
1021
|
+
"[",
|
1022
|
+
:IRIREF,
|
1023
|
+
:BLANK_NODE_LABEL,
|
1024
|
+
:ANON,
|
1025
|
+
"(",
|
1026
|
+
:PNAME_LN,
|
1027
|
+
:PNAME_NS],
|
1028
|
+
:_base_3 => [
|
1029
|
+
:_eof,
|
1030
|
+
:PREFIX,
|
1031
|
+
:BASE,
|
993
1032
|
"[",
|
994
1033
|
:IRIREF,
|
995
1034
|
:BLANK_NODE_LABEL,
|
@@ -999,6 +1038,7 @@ module RDF::Turtle::Meta
|
|
999
1038
|
:PNAME_NS],
|
1000
1039
|
:blankNodePropertyList => [
|
1001
1040
|
".",
|
1041
|
+
"A",
|
1002
1042
|
"a",
|
1003
1043
|
")",
|
1004
1044
|
",",
|
@@ -1022,6 +1062,7 @@ module RDF::Turtle::Meta
|
|
1022
1062
|
:STRING_LITERAL_LONG_QUOTE],
|
1023
1063
|
:_blankNodePropertyList_1 => [
|
1024
1064
|
".",
|
1065
|
+
"A",
|
1025
1066
|
"a",
|
1026
1067
|
")",
|
1027
1068
|
",",
|
@@ -1045,6 +1086,7 @@ module RDF::Turtle::Meta
|
|
1045
1086
|
:STRING_LITERAL_LONG_QUOTE],
|
1046
1087
|
:_blankNodePropertyList_2 => [
|
1047
1088
|
".",
|
1089
|
+
"A",
|
1048
1090
|
"a",
|
1049
1091
|
")",
|
1050
1092
|
",",
|
@@ -1067,6 +1109,7 @@ module RDF::Turtle::Meta
|
|
1067
1109
|
:STRING_LITERAL_LONG_SINGLE_QUOTE,
|
1068
1110
|
:STRING_LITERAL_LONG_QUOTE],
|
1069
1111
|
:collection => [
|
1112
|
+
"A",
|
1070
1113
|
"a",
|
1071
1114
|
")",
|
1072
1115
|
",",
|
@@ -1094,6 +1137,7 @@ module RDF::Turtle::Meta
|
|
1094
1137
|
:_collection_2 => [
|
1095
1138
|
")"],
|
1096
1139
|
:_collection_3 => [
|
1140
|
+
"A",
|
1097
1141
|
"a",
|
1098
1142
|
")",
|
1099
1143
|
",",
|
@@ -1119,6 +1163,7 @@ module RDF::Turtle::Meta
|
|
1119
1163
|
:_collection_4 => [
|
1120
1164
|
")"],
|
1121
1165
|
:_collection_5 => [
|
1166
|
+
"A",
|
1122
1167
|
"a",
|
1123
1168
|
")",
|
1124
1169
|
",",
|
@@ -1143,10 +1188,8 @@ module RDF::Turtle::Meta
|
|
1143
1188
|
:STRING_LITERAL_LONG_QUOTE],
|
1144
1189
|
:directive => [
|
1145
1190
|
:_eof,
|
1146
|
-
|
1147
|
-
|
1148
|
-
:SPARQL_PREFIX,
|
1149
|
-
:SPARQL_BASE,
|
1191
|
+
:PREFIX,
|
1192
|
+
:BASE,
|
1150
1193
|
"[",
|
1151
1194
|
:IRIREF,
|
1152
1195
|
:BLANK_NODE_LABEL,
|
@@ -1155,6 +1198,7 @@ module RDF::Turtle::Meta
|
|
1155
1198
|
:PNAME_LN,
|
1156
1199
|
:PNAME_NS],
|
1157
1200
|
:iri => [
|
1201
|
+
"A",
|
1158
1202
|
"a",
|
1159
1203
|
:IRIREF,
|
1160
1204
|
:BLANK_NODE_LABEL,
|
@@ -1310,10 +1354,8 @@ module RDF::Turtle::Meta
|
|
1310
1354
|
"]"],
|
1311
1355
|
:prefixID => [
|
1312
1356
|
:_eof,
|
1313
|
-
|
1314
|
-
|
1315
|
-
:SPARQL_PREFIX,
|
1316
|
-
:SPARQL_BASE,
|
1357
|
+
:PREFIX,
|
1358
|
+
:BASE,
|
1317
1359
|
"[",
|
1318
1360
|
:IRIREF,
|
1319
1361
|
:BLANK_NODE_LABEL,
|
@@ -1323,23 +1365,8 @@ module RDF::Turtle::Meta
|
|
1323
1365
|
:PNAME_NS],
|
1324
1366
|
:_prefixID_1 => [
|
1325
1367
|
:_eof,
|
1326
|
-
|
1327
|
-
|
1328
|
-
:SPARQL_PREFIX,
|
1329
|
-
:SPARQL_BASE,
|
1330
|
-
"[",
|
1331
|
-
:IRIREF,
|
1332
|
-
:BLANK_NODE_LABEL,
|
1333
|
-
:ANON,
|
1334
|
-
"(",
|
1335
|
-
:PNAME_LN,
|
1336
|
-
:PNAME_NS],
|
1337
|
-
:sparqlBase => [
|
1338
|
-
:_eof,
|
1339
|
-
"@prefix",
|
1340
|
-
"@base",
|
1341
|
-
:SPARQL_PREFIX,
|
1342
|
-
:SPARQL_BASE,
|
1368
|
+
:PREFIX,
|
1369
|
+
:BASE,
|
1343
1370
|
"[",
|
1344
1371
|
:IRIREF,
|
1345
1372
|
:BLANK_NODE_LABEL,
|
@@ -1347,12 +1374,10 @@ module RDF::Turtle::Meta
|
|
1347
1374
|
"(",
|
1348
1375
|
:PNAME_LN,
|
1349
1376
|
:PNAME_NS],
|
1350
|
-
:
|
1377
|
+
:_prefixID_2 => [
|
1351
1378
|
:_eof,
|
1352
|
-
|
1353
|
-
|
1354
|
-
:SPARQL_PREFIX,
|
1355
|
-
:SPARQL_BASE,
|
1379
|
+
:PREFIX,
|
1380
|
+
:BASE,
|
1356
1381
|
"[",
|
1357
1382
|
:IRIREF,
|
1358
1383
|
:BLANK_NODE_LABEL,
|
@@ -1360,12 +1385,10 @@ module RDF::Turtle::Meta
|
|
1360
1385
|
"(",
|
1361
1386
|
:PNAME_LN,
|
1362
1387
|
:PNAME_NS],
|
1363
|
-
:
|
1388
|
+
:_prefixID_3 => [
|
1364
1389
|
:_eof,
|
1365
|
-
|
1366
|
-
|
1367
|
-
:SPARQL_PREFIX,
|
1368
|
-
:SPARQL_BASE,
|
1390
|
+
:PREFIX,
|
1391
|
+
:BASE,
|
1369
1392
|
"[",
|
1370
1393
|
:IRIREF,
|
1371
1394
|
:BLANK_NODE_LABEL,
|
@@ -1373,12 +1396,10 @@ module RDF::Turtle::Meta
|
|
1373
1396
|
"(",
|
1374
1397
|
:PNAME_LN,
|
1375
1398
|
:PNAME_NS],
|
1376
|
-
:
|
1399
|
+
:_prefixID_4 => [
|
1377
1400
|
:_eof,
|
1378
|
-
|
1379
|
-
|
1380
|
-
:SPARQL_PREFIX,
|
1381
|
-
:SPARQL_BASE,
|
1401
|
+
:PREFIX,
|
1402
|
+
:BASE,
|
1382
1403
|
"[",
|
1383
1404
|
:IRIREF,
|
1384
1405
|
:BLANK_NODE_LABEL,
|
@@ -1388,10 +1409,8 @@ module RDF::Turtle::Meta
|
|
1388
1409
|
:PNAME_NS],
|
1389
1410
|
:statement => [
|
1390
1411
|
:_eof,
|
1391
|
-
|
1392
|
-
|
1393
|
-
:SPARQL_PREFIX,
|
1394
|
-
:SPARQL_BASE,
|
1412
|
+
:PREFIX,
|
1413
|
+
:BASE,
|
1395
1414
|
"[",
|
1396
1415
|
:IRIREF,
|
1397
1416
|
:BLANK_NODE_LABEL,
|
@@ -1401,10 +1420,8 @@ module RDF::Turtle::Meta
|
|
1401
1420
|
:PNAME_NS],
|
1402
1421
|
:_statement_1 => [
|
1403
1422
|
:_eof,
|
1404
|
-
|
1405
|
-
|
1406
|
-
:SPARQL_PREFIX,
|
1407
|
-
:SPARQL_BASE,
|
1423
|
+
:PREFIX,
|
1424
|
+
:BASE,
|
1408
1425
|
"[",
|
1409
1426
|
:IRIREF,
|
1410
1427
|
:BLANK_NODE_LABEL,
|
@@ -1414,10 +1431,8 @@ module RDF::Turtle::Meta
|
|
1414
1431
|
:PNAME_NS],
|
1415
1432
|
:_statement_2 => [
|
1416
1433
|
:_eof,
|
1417
|
-
|
1418
|
-
|
1419
|
-
:SPARQL_PREFIX,
|
1420
|
-
:SPARQL_BASE,
|
1434
|
+
:PREFIX,
|
1435
|
+
:BASE,
|
1421
1436
|
"[",
|
1422
1437
|
:IRIREF,
|
1423
1438
|
:BLANK_NODE_LABEL,
|
@@ -1426,6 +1441,7 @@ module RDF::Turtle::Meta
|
|
1426
1441
|
:PNAME_LN,
|
1427
1442
|
:PNAME_NS],
|
1428
1443
|
:subject => [
|
1444
|
+
"A",
|
1429
1445
|
"a",
|
1430
1446
|
:IRIREF,
|
1431
1447
|
:PNAME_LN,
|
data/lib/rdf/turtle/reader.rb
CHANGED
@@ -67,26 +67,26 @@ module RDF::Turtle
|
|
67
67
|
end
|
68
68
|
|
69
69
|
# String terminals
|
70
|
-
terminal(nil, %r([\(\),.;\[\]
|
70
|
+
terminal(nil, %r([\(\),.;\[\]Aa]|\^\^|true|false)) do |prod, token, input|
|
71
71
|
case token.value
|
72
|
-
when 'a'
|
72
|
+
when 'A', 'a' then input[:resource] = RDF.type
|
73
73
|
when 'true', 'false' then input[:resource] = RDF::Literal::Boolean.new(token.value)
|
74
74
|
when '@base', '@prefix' then input[:lang] = token.value[1..-1]
|
75
75
|
else input[:string] = token.value
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
|
-
terminal(:
|
80
|
-
input[:lang] = token.value[1..-1]
|
81
|
-
end
|
82
|
-
|
83
|
-
terminal(:SPARQL_PREFIX, SPARQL_PREFIX) do |prod, token, input|
|
79
|
+
terminal(:PREFIX, PREFIX) do |prod, token, input|
|
84
80
|
input[:string_value] = token.value.downcase
|
85
81
|
end
|
86
|
-
terminal(:
|
82
|
+
terminal(:BASE, BASE) do |prod, token, input|
|
87
83
|
input[:string_value] = token.value.downcase
|
88
84
|
end
|
89
85
|
|
86
|
+
terminal(:LANGTAG, LANGTAG) do |prod, token, input|
|
87
|
+
input[:lang] = token.value[1..-1]
|
88
|
+
end
|
89
|
+
|
90
90
|
# Productions
|
91
91
|
# [4] prefixID defines a prefix mapping
|
92
92
|
production(:prefixID) do |input, current, callback|
|
@@ -103,21 +103,6 @@ module RDF::Turtle
|
|
103
103
|
options[:base_uri] = iri
|
104
104
|
end
|
105
105
|
|
106
|
-
# [28s] sparqlPrefix ::= [Pp][Rr][Ee][Ff][Ii][Xx] PNAME_NS IRIREF
|
107
|
-
production(:sparqlPrefix) do |input, current, callback|
|
108
|
-
prefix = current[:prefix]
|
109
|
-
iri = current[:resource]
|
110
|
-
debug("sparqlPrefix") {"Defined prefix #{prefix.inspect} mapping to #{iri.inspect}"}
|
111
|
-
prefix(prefix, iri)
|
112
|
-
end
|
113
|
-
|
114
|
-
# [29s] sparqlBase ::= [Bb][Aa][Ss][Ee] IRIREF
|
115
|
-
production(:sparqlBase) do |input, current, callback|
|
116
|
-
iri = current[:resource]
|
117
|
-
debug("base") {"Defined base as #{iri}"}
|
118
|
-
options[:base_uri] = iri
|
119
|
-
end
|
120
|
-
|
121
106
|
# [6] triples
|
122
107
|
start_production(:triples) do |input, current, callback|
|
123
108
|
# Note production as triples for blankNodePropertyList
|
@@ -176,20 +161,15 @@ module RDF::Turtle
|
|
176
161
|
|
177
162
|
production(:collection) do |input, current, callback|
|
178
163
|
# Create an RDF list
|
179
|
-
bnode = self.bnode
|
180
164
|
objects = current[:object_list]
|
181
|
-
list = RDF::List
|
165
|
+
list = RDF::List[*objects]
|
182
166
|
list.each_statement do |statement|
|
183
|
-
# Spec Confusion, referenced section "Collection" is missing from the spec.
|
184
|
-
# Anicdodal evidence indicates that some expect each node to be of type rdf:list,
|
185
|
-
# but existing Notation3 and Turtle tests (http://www.w3.org/2001/sw/DataAccess/df1/tests/manifest.ttl) do not.
|
186
167
|
next if statement.predicate == RDF.type && statement.object == RDF.List
|
187
168
|
callback.call(:statement, "collection", statement.subject, statement.predicate, statement.object)
|
188
169
|
end
|
189
|
-
bnode = RDF.nil if list.empty?
|
190
170
|
|
191
171
|
# Return bnode as resource
|
192
|
-
input[:resource] =
|
172
|
+
input[:resource] = list.subject
|
193
173
|
end
|
194
174
|
|
195
175
|
# [16] RDFLiteral ::= String ( LanguageTag | ( "^^" IRIref ) )?
|
data/lib/rdf/turtle/terminals.rb
CHANGED
@@ -100,22 +100,22 @@ module RDF::Turtle
|
|
100
100
|
# 21
|
101
101
|
DOUBLE = /[+-]?(?:[0-9]+\.[0-9]*#{EXPONENT}|\.?[0-9]+#{EXPONENT})/.freeze
|
102
102
|
# 22
|
103
|
-
|
103
|
+
STRING_LITERAL_SINGLE_QUOTE = /'(?:[^\'\\\n\r]|#{ECHAR}|#{UCHAR})*'/.freeze
|
104
104
|
# 23
|
105
|
-
|
105
|
+
STRING_LITERAL_QUOTE = /"(?:[^\"\\\n\r]|#{ECHAR}|#{UCHAR})*"/.freeze.freeze
|
106
106
|
# 24
|
107
107
|
STRING_LITERAL_LONG_SINGLE_QUOTE = /'''(?:(?:'|'')?(?:[^'\\]|#{ECHAR}|#{UCHAR}))*'''/m.freeze
|
108
108
|
# 25
|
109
|
-
STRING_LITERAL_LONG_QUOTE
|
109
|
+
STRING_LITERAL_LONG_QUOTE = /"""(?:(?:"|"")?(?:[^"\\]|#{ECHAR}|#{UCHAR}))*"""/m.freeze
|
110
110
|
|
111
111
|
# 161s
|
112
112
|
WS = / |\t|\r|\n /.freeze
|
113
113
|
# 162s
|
114
114
|
ANON = /\[#{WS}*\]/m.freeze
|
115
115
|
# 28t
|
116
|
-
|
116
|
+
PREFIX = /@?prefix/i.freeze
|
117
117
|
# 29t
|
118
|
-
|
118
|
+
BASE = /@?base/i.freeze
|
119
119
|
|
120
120
|
end
|
121
121
|
end
|
metadata
CHANGED
@@ -1,36 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdf-turtle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.7
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Gregg Kellogg
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-06-16 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rdf
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
19
|
+
version: 1.0.7
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ! '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
26
|
+
version: 1.0.7
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: ebnf
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ! '>='
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ! '>='
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: open-uri-cached
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ! '>='
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ! '>='
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -62,7 +55,6 @@ dependencies:
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rspec
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ! '>='
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ! '>='
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -78,7 +69,6 @@ dependencies:
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: rdf-isomorphic
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
73
|
- - ! '>='
|
84
74
|
- !ruby/object:Gem::Version
|
@@ -86,7 +76,6 @@ dependencies:
|
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
80
|
- - ! '>='
|
92
81
|
- !ruby/object:Gem::Version
|
@@ -94,7 +83,6 @@ dependencies:
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: json-ld
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
87
|
- - ! '>='
|
100
88
|
- !ruby/object:Gem::Version
|
@@ -102,7 +90,6 @@ dependencies:
|
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
94
|
- - ! '>='
|
108
95
|
- !ruby/object:Gem::Version
|
@@ -110,7 +97,6 @@ dependencies:
|
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: yard
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
101
|
- - ! '>='
|
116
102
|
- !ruby/object:Gem::Version
|
@@ -118,7 +104,6 @@ dependencies:
|
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
108
|
- - ! '>='
|
124
109
|
- !ruby/object:Gem::Version
|
@@ -126,7 +111,6 @@ dependencies:
|
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
112
|
name: rdf-spec
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
115
|
- - ! '>='
|
132
116
|
- !ruby/object:Gem::Version
|
@@ -134,7 +118,6 @@ dependencies:
|
|
134
118
|
type: :development
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
122
|
- - ! '>='
|
140
123
|
- !ruby/object:Gem::Version
|
@@ -142,7 +125,6 @@ dependencies:
|
|
142
125
|
- !ruby/object:Gem::Dependency
|
143
126
|
name: rake
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
128
|
requirements:
|
147
129
|
- - ! '>='
|
148
130
|
- !ruby/object:Gem::Version
|
@@ -150,7 +132,6 @@ dependencies:
|
|
150
132
|
type: :development
|
151
133
|
prerelease: false
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
135
|
requirements:
|
155
136
|
- - ! '>='
|
156
137
|
- !ruby/object:Gem::Version
|
@@ -177,30 +158,26 @@ files:
|
|
177
158
|
homepage: http://ruby-rdf.github.com/rdf-turtle
|
178
159
|
licenses:
|
179
160
|
- Public Domain
|
161
|
+
metadata: {}
|
180
162
|
post_install_message:
|
181
163
|
rdoc_options: []
|
182
164
|
require_paths:
|
183
165
|
- lib
|
184
166
|
required_ruby_version: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
167
|
requirements:
|
187
168
|
- - ! '>='
|
188
169
|
- !ruby/object:Gem::Version
|
189
170
|
version: 1.8.1
|
190
171
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
191
|
-
none: false
|
192
172
|
requirements:
|
193
173
|
- - ! '>='
|
194
174
|
- !ruby/object:Gem::Version
|
195
175
|
version: '0'
|
196
|
-
segments:
|
197
|
-
- 0
|
198
|
-
hash: -221020975256303301
|
199
176
|
requirements: []
|
200
177
|
rubyforge_project: rdf-turtle
|
201
|
-
rubygems_version:
|
178
|
+
rubygems_version: 2.0.3
|
202
179
|
signing_key:
|
203
|
-
specification_version:
|
180
|
+
specification_version: 4
|
204
181
|
summary: Turtle reader/writer for Ruby.
|
205
182
|
test_files: []
|
206
183
|
has_rdoc: false
|