rdf-turtle 0.0.3 → 0.0.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.
- data/README.markdown +5 -15
- data/VERSION +1 -1
- data/lib/rdf/ll1/lexer.rb +3 -3
- data/lib/rdf/turtle/reader.rb +5 -7
- metadata +11 -11
data/README.markdown
CHANGED
@@ -16,18 +16,11 @@ Install with `gem install rdf-turtle`
|
|
16
16
|
## Usage
|
17
17
|
Instantiate a reader from a local file:
|
18
18
|
|
19
|
-
RDF::
|
20
|
-
reader.each_statement do |statement|
|
21
|
-
puts statement.inspect
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
or
|
19
|
+
graph = RDF::Graph.load("etc/doap.ttl", :format => :ttl)
|
26
20
|
|
27
|
-
|
28
|
-
|
21
|
+
Define `@base` and `@prefix` definitions, and use for serialization using `:base_uri` an `:prefixes` options.
|
29
22
|
|
30
|
-
|
23
|
+
Canonicalize and validate using `:canonicalize` and `:validate` options.
|
31
24
|
|
32
25
|
Write a graph to a file:
|
33
26
|
|
@@ -54,10 +47,7 @@ In some cases, the specification is unclear on certain issues:
|
|
54
47
|
are subject to unescaping. This means that an IRI which might otherwise be representable using a PNAME
|
55
48
|
cannot if the IRI contains any characters that might need escaping. This implementation currently abides
|
56
49
|
by this restriction. Presumably, this would affect both PNAME\_NS and PNAME\_LN terminals.
|
57
|
-
|
58
|
-
not intended to be used in Turtle. However, example markup using the empty prefix is common among examples. This
|
59
|
-
implementation defines the empty prefix as an alias for the current base IRI (either defined using `@base`,
|
60
|
-
or based on the document's origin).
|
50
|
+
(This is being tracked as issues [67](http://www.w3.org/2011/rdf-wg/track/issues/67)).
|
61
51
|
* The EBNF definition of IRI_REF seems malformed, and has no provision for \^, as discussed elsewhere in the spec.
|
62
52
|
We presume that [#0000- ] is intended to be [#0000-#0020].
|
63
53
|
* The list example in section 6 uses a list on it's own, without a predicate or object, which is not allowed
|
@@ -106,7 +96,7 @@ Using SWAP utilities, this is done as follows:
|
|
106
96
|
## Installation
|
107
97
|
|
108
98
|
The recommended installation method is via [RubyGems](http://rubygems.org/).
|
109
|
-
To install the latest official release of the `
|
99
|
+
To install the latest official release of the `RDF::Turtle` gem, do:
|
110
100
|
|
111
101
|
% [sudo] gem install rdf-turtle
|
112
102
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.4
|
data/lib/rdf/ll1/lexer.rb
CHANGED
@@ -359,10 +359,10 @@ module RDF::LL1
|
|
359
359
|
# of this token.
|
360
360
|
#
|
361
361
|
# @example Matching using the symbolic type
|
362
|
-
#
|
362
|
+
# RDF::LL1::Lexer::Token.new(:NIL) === :NIL #=> true
|
363
363
|
#
|
364
364
|
# @example Matching using the string value
|
365
|
-
#
|
365
|
+
# RDF::LL1::Lexer::Token.new(nil, "{") === "{" #=> true
|
366
366
|
#
|
367
367
|
# @param [Symbol, String] value
|
368
368
|
# @return [Boolean]
|
@@ -415,7 +415,7 @@ module RDF::LL1
|
|
415
415
|
# Raised for errors during lexical analysis.
|
416
416
|
#
|
417
417
|
# @example Raising a lexer error
|
418
|
-
# raise
|
418
|
+
# raise RDF::LL1::Lexer::Error.new(
|
419
419
|
# "invalid token '%' on line 10",
|
420
420
|
# :input => query, :token => '%', :lineno => 9)
|
421
421
|
#
|
data/lib/rdf/turtle/reader.rb
CHANGED
@@ -308,7 +308,6 @@ module RDF::Turtle
|
|
308
308
|
# Spec confusion, presume that an undefined empty prefix has an empty relative IRI, which uses
|
309
309
|
# string contatnation rules against the in-scope IRI at the time of use
|
310
310
|
def prefix(prefix, iri = nil)
|
311
|
-
debug("prefix", "'#{prefix}' <#{iri}>")
|
312
311
|
# Relative IRIs are resolved against @base
|
313
312
|
iri = process_iri(iri) if iri
|
314
313
|
super(prefix, iri)
|
@@ -320,14 +319,13 @@ module RDF::Turtle
|
|
320
319
|
# Prefixes must be defined, except special case for empty prefix being alias for current @base
|
321
320
|
if prefix(prefix)
|
322
321
|
base = prefix(prefix).to_s
|
323
|
-
elsif prefix
|
324
|
-
|
325
|
-
|
326
|
-
error("pname", "undefined prefix #{prefix.inspect}") unless prefix(prefix) || prefix.to_s.empty?
|
322
|
+
elsif !prefix(prefix)
|
323
|
+
error("pname", "undefined prefix #{prefix.inspect}")
|
324
|
+
base = ''
|
327
325
|
end
|
328
326
|
suffix = suffix.to_s.sub(/^\#/, "") if base.index("#")
|
329
327
|
debug("pname", "base: '#{base}', suffix: '#{suffix}'")
|
330
|
-
|
328
|
+
process_iri(base + suffix.to_s)
|
331
329
|
end
|
332
330
|
|
333
331
|
# Keep track of allocated BNodes
|
@@ -342,7 +340,7 @@ module RDF::Turtle
|
|
342
340
|
# @option options [URI, #to_s] :production
|
343
341
|
# @option options [Token] :token
|
344
342
|
def error(node, message, options = {})
|
345
|
-
if
|
343
|
+
if !validate? && !options[:fatal]
|
346
344
|
debug(node, message, options)
|
347
345
|
else
|
348
346
|
raise RDF::ReaderError, message, options[:backtrace]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdf-turtle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-08-29 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdf
|
16
|
-
requirement: &
|
16
|
+
requirement: &2168942220 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.3.3
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2168942220
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: yard
|
27
|
-
requirement: &
|
27
|
+
requirement: &2168941620 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.6.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2168941620
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &2168941080 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.5.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2168941080
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rdf-spec
|
49
|
-
requirement: &
|
49
|
+
requirement: &2168940600 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.3.2
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2168940600
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rdf-isomorphic
|
60
|
-
requirement: &
|
60
|
+
requirement: &2168940140 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: 0.3.4
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2168940140
|
69
69
|
description: Turtle reader/writer for Ruby.
|
70
70
|
email: public-rdf-ruby@w3.org
|
71
71
|
executables: []
|