rdf-turtle 1.1.4 → 1.1.5
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 +4 -4
- data/README.md +10 -10
- data/VERSION +1 -1
- data/lib/rdf/turtle/format.rb +7 -7
- data/lib/rdf/turtle/freebase_reader.rb +9 -9
- data/lib/rdf/turtle/meta.rb +335 -335
- data/lib/rdf/turtle/reader.rb +20 -20
- data/lib/rdf/turtle/writer.rb +8 -8
- metadata +19 -5
data/lib/rdf/turtle/reader.rb
CHANGED
@@ -17,27 +17,27 @@ module RDF::Turtle
|
|
17
17
|
terminal(:BLANK_NODE_LABEL, BLANK_NODE_LABEL) do |prod, token, input|
|
18
18
|
input[:resource] = self.bnode(token.value[2..-1])
|
19
19
|
end
|
20
|
-
terminal(:IRIREF, IRIREF, :
|
20
|
+
terminal(:IRIREF, IRIREF, unescape: true) do |prod, token, input|
|
21
21
|
input[:resource] = process_iri(token.value[1..-2])
|
22
22
|
end
|
23
23
|
terminal(:DOUBLE, DOUBLE) do |prod, token, input|
|
24
24
|
# Note that a Turtle Double may begin with a '.[eE]', so tack on a leading
|
25
25
|
# zero if necessary
|
26
26
|
value = token.value.sub(/\.([eE])/, '.0\1')
|
27
|
-
input[:resource] = literal(value, :
|
27
|
+
input[:resource] = literal(value, datatype: RDF::XSD.double)
|
28
28
|
end
|
29
29
|
terminal(:DECIMAL, DECIMAL) do |prod, token, input|
|
30
30
|
# Note that a Turtle Decimal may begin with a '.', so tack on a leading
|
31
31
|
# zero if necessary
|
32
32
|
value = token.value
|
33
33
|
value = "0#{token.value}" if token.value[0,1] == "."
|
34
|
-
input[:resource] = literal(value, :
|
34
|
+
input[:resource] = literal(value, datatype: RDF::XSD.decimal)
|
35
35
|
end
|
36
36
|
terminal(:INTEGER, INTEGER) do |prod, token, input|
|
37
|
-
input[:resource] = literal(token.value, :
|
37
|
+
input[:resource] = literal(token.value, datatype: RDF::XSD.integer)
|
38
38
|
end
|
39
39
|
# Spec confusion: spec says : "Literals , prefixed names and IRIs may also contain escape sequences"
|
40
|
-
terminal(:PNAME_LN, PNAME_LN, :
|
40
|
+
terminal(:PNAME_LN, PNAME_LN, unescape: true) do |prod, token, input|
|
41
41
|
prefix, suffix = token.value.split(":", 2)
|
42
42
|
input[:resource] = pname(prefix, suffix)
|
43
43
|
end
|
@@ -53,16 +53,16 @@ module RDF::Turtle
|
|
53
53
|
input[:resource] = pname(prefix, '')
|
54
54
|
end
|
55
55
|
end
|
56
|
-
terminal(:STRING_LITERAL_LONG_SINGLE_QUOTE, STRING_LITERAL_LONG_SINGLE_QUOTE, :
|
56
|
+
terminal(:STRING_LITERAL_LONG_SINGLE_QUOTE, STRING_LITERAL_LONG_SINGLE_QUOTE, unescape: true) do |prod, token, input|
|
57
57
|
input[:string_value] = token.value[3..-4]
|
58
58
|
end
|
59
|
-
terminal(:STRING_LITERAL_LONG_QUOTE, STRING_LITERAL_LONG_QUOTE, :
|
59
|
+
terminal(:STRING_LITERAL_LONG_QUOTE, STRING_LITERAL_LONG_QUOTE, unescape: true) do |prod, token, input|
|
60
60
|
input[:string_value] = token.value[3..-4]
|
61
61
|
end
|
62
|
-
terminal(:STRING_LITERAL_QUOTE, STRING_LITERAL_QUOTE, :
|
62
|
+
terminal(:STRING_LITERAL_QUOTE, STRING_LITERAL_QUOTE, unescape: true) do |prod, token, input|
|
63
63
|
input[:string_value] = token.value[1..-2]
|
64
64
|
end
|
65
|
-
terminal(:STRING_LITERAL_SINGLE_QUOTE, STRING_LITERAL_SINGLE_QUOTE, :
|
65
|
+
terminal(:STRING_LITERAL_SINGLE_QUOTE, STRING_LITERAL_SINGLE_QUOTE, unescape: true) do |prod, token, input|
|
66
66
|
input[:string_value] = token.value[1..-2]
|
67
67
|
end
|
68
68
|
|
@@ -250,11 +250,11 @@ module RDF::Turtle
|
|
250
250
|
def initialize(input = nil, options = {}, &block)
|
251
251
|
super do
|
252
252
|
@options = {
|
253
|
-
:
|
254
|
-
:
|
255
|
-
:
|
253
|
+
anon_base: "b0",
|
254
|
+
validate: false,
|
255
|
+
whitespace: WS,
|
256
256
|
}.merge(options)
|
257
|
-
@options = {:
|
257
|
+
@options = {prefixes: {nil => ""}}.merge(@options) unless @options[:validate]
|
258
258
|
@options[:debug] ||= case
|
259
259
|
when RDF::Turtle.debug? then true
|
260
260
|
when @options[:progress] then 2
|
@@ -291,15 +291,15 @@ module RDF::Turtle
|
|
291
291
|
if block_given?
|
292
292
|
@callback = block
|
293
293
|
|
294
|
-
parse(@input, START.to_sym, @options.merge(:
|
295
|
-
:
|
296
|
-
:
|
297
|
-
:
|
294
|
+
parse(@input, START.to_sym, @options.merge(branch: BRANCH,
|
295
|
+
first: FIRST,
|
296
|
+
follow: FOLLOW,
|
297
|
+
reset_on_start: true)
|
298
298
|
) do |context, *data|
|
299
299
|
case context
|
300
300
|
when :statement
|
301
301
|
loc = data.shift
|
302
|
-
s = RDF::Statement.from(data, :lineno
|
302
|
+
s = RDF::Statement.from(data, lineno: lineno)
|
303
303
|
add_statement(loc, s) unless !s.valid? && validate?
|
304
304
|
when :trace
|
305
305
|
level, lineno, depth, *args = data
|
@@ -318,7 +318,7 @@ module RDF::Turtle
|
|
318
318
|
end
|
319
319
|
end
|
320
320
|
enum_for(:each_statement)
|
321
|
-
rescue EBNF::LL1::Parser::Error, EBNF::LL1::Lexer::Error =>
|
321
|
+
rescue EBNF::LL1::Parser::Error, EBNF::LL1::Lexer::Error => e
|
322
322
|
if validate?
|
323
323
|
raise RDF::ReaderError.new(e.message, lineno: e.lineno, token: e.token)
|
324
324
|
else
|
@@ -375,7 +375,7 @@ module RDF::Turtle
|
|
375
375
|
"validate: #{validate?.inspect}, " +
|
376
376
|
"c14n?: #{canonicalize?.inspect}"
|
377
377
|
end
|
378
|
-
RDF::Literal.new(value, options.merge(:validate
|
378
|
+
RDF::Literal.new(value, options.merge(validate: validate?, canonicalize: canonicalize?))
|
379
379
|
end
|
380
380
|
|
381
381
|
##
|
data/lib/rdf/turtle/writer.rb
CHANGED
@@ -12,9 +12,9 @@ module RDF::Turtle
|
|
12
12
|
# @example Obtaining a Turtle writer class
|
13
13
|
# RDF::Writer.for(:ttl) #=> RDF::Turtle::Writer
|
14
14
|
# RDF::Writer.for("etc/test.ttl")
|
15
|
-
# RDF::Writer.for(:
|
16
|
-
# RDF::Writer.for(:
|
17
|
-
# RDF::Writer.for(:
|
15
|
+
# RDF::Writer.for(file_name: "etc/test.ttl")
|
16
|
+
# RDF::Writer.for(file_extension: "ttl")
|
17
|
+
# RDF::Writer.for(content_type: "text/turtle")
|
18
18
|
#
|
19
19
|
# @example Serializing RDF graph into an Turtle file
|
20
20
|
# RDF::Turtle::Writer.open("etc/test.ttl") do |writer|
|
@@ -36,7 +36,7 @@ module RDF::Turtle
|
|
36
36
|
# end
|
37
37
|
#
|
38
38
|
# @example Serializing RDF statements to a string in streaming mode
|
39
|
-
# RDF::Turtle::Writer.buffer(:
|
39
|
+
# RDF::Turtle::Writer.buffer(stream: true) do |writer|
|
40
40
|
# graph.each_statement do |statement|
|
41
41
|
# writer << statement
|
42
42
|
# end
|
@@ -45,9 +45,9 @@ module RDF::Turtle
|
|
45
45
|
# The writer will add prefix definitions, and use them for creating @prefix definitions, and minting QNames
|
46
46
|
#
|
47
47
|
# @example Creating @base and @prefix definitions in output
|
48
|
-
# RDF::Turtle::Writer.buffer(:
|
48
|
+
# RDF::Turtle::Writer.buffer(base_uri: "http://example.com/", prefixes: {
|
49
49
|
# nil => "http://example.com/ns#",
|
50
|
-
# :
|
50
|
+
# foaf: "http://xmlns.com/foaf/0.1/"}
|
51
51
|
# ) do |writer|
|
52
52
|
# graph.each_statement do |statement|
|
53
53
|
# writer << statement
|
@@ -326,7 +326,7 @@ module RDF::Turtle
|
|
326
326
|
|
327
327
|
# Add distinguished classes
|
328
328
|
top_classes.each do |class_uri|
|
329
|
-
graph.query(:
|
329
|
+
graph.query(predicate: RDF.type, object: class_uri).map {|st| st.subject}.sort.uniq.each do |subject|
|
330
330
|
debug("order_subjects") {subject.to_ntriples}
|
331
331
|
subjects << subject
|
332
332
|
seen[subject] = true
|
@@ -527,7 +527,7 @@ module RDF::Turtle
|
|
527
527
|
# @return [Integer] the number of properties serialized
|
528
528
|
def predicateObjectList(subject, from_bpl = false)
|
529
529
|
properties = {}
|
530
|
-
@graph.query(:subject
|
530
|
+
@graph.query(subject: subject) do |st|
|
531
531
|
(properties[st.predicate.to_s] ||= []) << st.object
|
532
532
|
end
|
533
533
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdf-turtle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gregg Kellogg
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rdf
|
@@ -76,14 +76,28 @@ dependencies:
|
|
76
76
|
requirements:
|
77
77
|
- - "~>"
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version: '
|
79
|
+
version: '3.0'
|
80
80
|
type: :development
|
81
81
|
prerelease: false
|
82
82
|
version_requirements: !ruby/object:Gem::Requirement
|
83
83
|
requirements:
|
84
84
|
- - "~>"
|
85
85
|
- !ruby/object:Gem::Version
|
86
|
-
version: '
|
86
|
+
version: '3.0'
|
87
|
+
- !ruby/object:Gem::Dependency
|
88
|
+
name: rspec-its
|
89
|
+
requirement: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - "~>"
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '1.0'
|
94
|
+
type: :development
|
95
|
+
prerelease: false
|
96
|
+
version_requirements: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - "~>"
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '1.0'
|
87
101
|
- !ruby/object:Gem::Dependency
|
88
102
|
name: rdf-isomorphic
|
89
103
|
requirement: !ruby/object:Gem::Requirement
|
@@ -194,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
194
208
|
version: '0'
|
195
209
|
requirements: []
|
196
210
|
rubyforge_project: rdf-turtle
|
197
|
-
rubygems_version: 2.
|
211
|
+
rubygems_version: 2.4.3
|
198
212
|
signing_key:
|
199
213
|
specification_version: 4
|
200
214
|
summary: Turtle reader/writer for Ruby.
|