rdf-turtle 3.0.3 → 3.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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/rdf/turtle/reader.rb +8 -8
- data/lib/rdf/turtle/writer.rb +18 -9
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a2739fecb539c03eacd39c93e7c002ee32f9b6b49f8786d2119150d1a57cd236
|
4
|
+
data.tar.gz: b72813794b2c80e8b518aaa151740f26a55017074555823fdd14dfbe181efc7f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43ad711bd729dcabcdf0e3e07006fed39f7a31fbe074513777e1dcaec358bb373a1e77e31fd8bb5761ebf487efa0e2aa94cccc2311ffa135534fdabdf4654aa7
|
7
|
+
data.tar.gz: dc7bafb1ff5ba905b85982b6514e65da5bdf1b1e2fd1f0813ee4678f3e174cf20871087c73f7c1a2a52d65e3d07058d26be31cc8d6ea92dfd315f81e904647b9
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.0.
|
1
|
+
3.0.4
|
data/lib/rdf/turtle/reader.rb
CHANGED
@@ -86,11 +86,9 @@ module RDF::Turtle
|
|
86
86
|
super do
|
87
87
|
@options = {
|
88
88
|
anon_base: "b0",
|
89
|
-
validate: false,
|
90
89
|
whitespace: WS,
|
91
90
|
log_depth: 0,
|
92
|
-
}.merge(options)
|
93
|
-
@options = {prefixes: {nil => ""}}.merge(@options) unless @options[:validate]
|
91
|
+
}.merge(@options)
|
94
92
|
@prod_stack = []
|
95
93
|
|
96
94
|
@options[:base_uri] = RDF::URI(base_uri || "")
|
@@ -178,7 +176,7 @@ module RDF::Turtle
|
|
178
176
|
value = RDF::URI(iri)
|
179
177
|
value = base_uri.join(value) if value.relative?
|
180
178
|
value.validate! if validate?
|
181
|
-
value.canonicalize! if canonicalize?
|
179
|
+
value.canonicalize! if canonicalize? && !value.frozen?
|
182
180
|
value = RDF::URI.intern(value) if intern?
|
183
181
|
value
|
184
182
|
rescue ArgumentError => e
|
@@ -214,11 +212,13 @@ module RDF::Turtle
|
|
214
212
|
# Expand a PNAME using string concatenation
|
215
213
|
def pname(prefix, suffix)
|
216
214
|
# Prefixes must be defined, except special case for empty prefix being alias for current @base
|
217
|
-
if prefix(prefix)
|
218
|
-
|
219
|
-
elsif !
|
215
|
+
base = if prefix(prefix)
|
216
|
+
prefix(prefix).to_s
|
217
|
+
elsif prefix.to_s.empty? && !validate?
|
218
|
+
base_uri.to_s
|
219
|
+
else
|
220
220
|
error("undefined prefix", production: :pname, token: prefix)
|
221
|
-
|
221
|
+
''
|
222
222
|
end
|
223
223
|
suffix = suffix.to_s.sub(/^\#/, "") if base.index("#")
|
224
224
|
log_debug("pname") {"base: '#{base}', suffix: '#{suffix}'"}
|
data/lib/rdf/turtle/writer.rb
CHANGED
@@ -366,8 +366,8 @@ module RDF::Turtle
|
|
366
366
|
seen[st.object] if @lists.has_key?(st.object)
|
367
367
|
end
|
368
368
|
|
369
|
-
|
370
|
-
|
369
|
+
# List elements which are bnodes should not be targets for top-level serialization
|
370
|
+
list_elements = @lists.values.map(&:to_a).flatten.select(&:node?).compact
|
371
371
|
|
372
372
|
# Sort subjects by resources over bnodes, ref_counts and the subject URI itself
|
373
373
|
recursable = (@subjects.keys - list_elements).
|
@@ -504,12 +504,15 @@ module RDF::Turtle
|
|
504
504
|
list = @lists[l]
|
505
505
|
log_debug("do_list") {list.inspect}
|
506
506
|
subject_done(RDF.nil)
|
507
|
+
index = 0
|
507
508
|
list.each_statement do |st|
|
508
509
|
next unless st.predicate == RDF.first
|
509
510
|
log_debug {" list this: #{st.subject} first: #{st.object}[#{position}]"}
|
511
|
+
@output.write(" ") if index > 0
|
510
512
|
path(st.object, position)
|
511
513
|
subject_done(st.subject)
|
512
514
|
position = :object
|
515
|
+
index += 1
|
513
516
|
end
|
514
517
|
end
|
515
518
|
|
@@ -519,7 +522,7 @@ module RDF::Turtle
|
|
519
522
|
return false if position == :object && prop_count(node) > 0
|
520
523
|
#log_debug("collection") {"#{node.to_ntriples}, #{position}"}
|
521
524
|
|
522
|
-
@output.write(
|
525
|
+
@output.write("(")
|
523
526
|
log_depth {do_list(node, position)}
|
524
527
|
@output.write(')')
|
525
528
|
end
|
@@ -530,16 +533,20 @@ module RDF::Turtle
|
|
530
533
|
|
531
534
|
log_debug("blankNodePropertyList") {resource.to_ntriples}
|
532
535
|
subject_done(resource)
|
533
|
-
@output.write(position == :subject ? "\n#{indent} [" : '
|
536
|
+
@output.write(position == :subject ? "\n#{indent} [" : '[')
|
534
537
|
num_props = log_depth {predicateObjectList(resource, true)}
|
535
|
-
@output.write((num_props > 1 ? "\n#{indent}" : "") + (position == :object ? ']' : '] .'))
|
538
|
+
@output.write((num_props > 1 ? "\n#{indent(2)}" : "") + (position == :object ? ']' : '] .'))
|
536
539
|
true
|
537
540
|
end
|
538
541
|
|
539
542
|
# Default singular resource representation.
|
540
543
|
def p_term(resource, position)
|
541
544
|
#log_debug("p_term") {"#{resource.to_ntriples}, #{position}"}
|
542
|
-
l =
|
545
|
+
l = if resource == RDF.nil
|
546
|
+
"()"
|
547
|
+
else
|
548
|
+
format_term(resource, options)
|
549
|
+
end
|
543
550
|
@output.write(l)
|
544
551
|
end
|
545
552
|
|
@@ -562,7 +569,7 @@ module RDF::Turtle
|
|
562
569
|
def predicate(resource)
|
563
570
|
log_debug("predicate") {resource.to_ntriples}
|
564
571
|
if resource == RDF.type
|
565
|
-
@output.write("
|
572
|
+
@output.write("a")
|
566
573
|
else
|
567
574
|
path(resource, :predicate)
|
568
575
|
end
|
@@ -601,6 +608,7 @@ module RDF::Turtle
|
|
601
608
|
begin
|
602
609
|
@output.write(";\n#{indent(2)}") if i > 0
|
603
610
|
predicate(RDF::URI.intern(prop))
|
611
|
+
@output.write(" ")
|
604
612
|
objectList(properties[prop])
|
605
613
|
end
|
606
614
|
end
|
@@ -611,8 +619,9 @@ module RDF::Turtle
|
|
611
619
|
def triples(subject)
|
612
620
|
@output.write("\n#{indent}")
|
613
621
|
path(subject, :subject)
|
614
|
-
|
615
|
-
|
622
|
+
@output.write(" ")
|
623
|
+
num_props = predicateObjectList(subject)
|
624
|
+
@output.write("#{num_props > 0 ? ' ' : ''}.")
|
616
625
|
true
|
617
626
|
end
|
618
627
|
|
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: 3.0.
|
4
|
+
version: 3.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gregg Kellogg
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rdf
|
@@ -194,8 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
194
194
|
- !ruby/object:Gem::Version
|
195
195
|
version: '0'
|
196
196
|
requirements: []
|
197
|
-
|
198
|
-
rubygems_version: 2.7.6
|
197
|
+
rubygems_version: 3.0.2
|
199
198
|
signing_key:
|
200
199
|
specification_version: 4
|
201
200
|
summary: Turtle reader/writer for Ruby.
|