rdf-turtle 3.0.2 → 3.0.3

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/rdf/turtle/writer.rb +40 -46
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1a8fb1c87f5b5149cc3430a1cdac50fdd7bfbaeacfeaa1a6770e54e83a1aff09
4
- data.tar.gz: 7bf9532ca0c78ce4e24e51ef3a4076a8563e2f0fa2e9f9853616f47776f0947f
3
+ metadata.gz: 499e06e63d69ec0216db2600e34260d5eda5c7a3736e8f1a42c63a91c716779c
4
+ data.tar.gz: 3443fdb3e53d2b12d66f6a9534a9532dabde58b0b319ecc62ffff0a4bd87afb3
5
5
  SHA512:
6
- metadata.gz: 55ec7f72b8b020506c134805828ff43341ce455b469edfb396332c61b67ae3cc7bdf2a0dcfcb3808c47201c77564e046a84d0aaaba2a74553fd2d1c30c93a184
7
- data.tar.gz: 308390211f1da6158fe12d322d8dec7e24ce94931ccd994fb202bf9ac5f38665ac3f1f2e7c02ae9a20e8f3b775462e8831b1357a96be045f8f427d5d241dbf84
6
+ metadata.gz: 1cad03d53fb973b02f541168549cc110769fde86da3b37c1a6187d7fbfffe8bee3f72bea687d14786094ad0cb6a2cd7d4f2072c9989ec4d0c62b6ad81020bccd
7
+ data.tar.gz: 1e7f38e3f561a6f16304727fa89b2bbeab0b93b31e8e5a58633f533ba69e2a874e461f59bcf31d015d23382290e33b9b2ecfd007691fe6f5dc0961c98ca0d285
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.0.2
1
+ 3.0.3
@@ -189,7 +189,7 @@ module RDF::Turtle
189
189
  # Remove lists that are referenced and have non-list properties;
190
190
  # these are legal, but can't be serialized as lists
191
191
  @lists.reject! do |node, list|
192
- ref_count(node) > 0 && non_list_prop_count(node) > 0
192
+ ref_count(node) > 0 && prop_count(node) > 0
193
193
  end
194
194
 
195
195
  order_subjects.each do |subject|
@@ -454,6 +454,44 @@ module RDF::Turtle
454
454
  end
455
455
  end
456
456
 
457
+ # Can subject be represented as a blankNodePropertyList?
458
+ def blankNodePropertyList?(resource, position)
459
+ resource.node? &&
460
+ !is_valid_list?(resource) &&
461
+ (!is_done?(resource) || position == :subject) &&
462
+ ref_count(resource) == (position == :object ? 1 : 0)
463
+ end
464
+
465
+ # Return the number of statements having this resource as a subject other than for list properties
466
+ # @return [Integer]
467
+ def prop_count(subject)
468
+ @subjects.fetch(subject, {}).
469
+ reject {|k, v| [RDF.type, RDF.first, RDF.rest].include?(k)}.
470
+ values.reduce(:+) || 0
471
+ end
472
+
473
+ # Return the number of times this node has been referenced in the object position
474
+ # @return [Integer]
475
+ def ref_count(resource)
476
+ @references.fetch(resource, 0)
477
+ end
478
+
479
+ # Increase the reference count of this resource
480
+ # @param [RDF::Resource] resource
481
+ # @return [Integer] resulting reference count
482
+ def bump_reference(resource)
483
+ @references[resource] = ref_count(resource) + 1
484
+ end
485
+
486
+ def is_done?(subject)
487
+ @serialized.include?(subject)
488
+ end
489
+
490
+ # Mark a subject as done.
491
+ def subject_done(subject)
492
+ @serialized[subject] = true
493
+ end
494
+
457
495
  private
458
496
 
459
497
  # Checks if l is a valid RDF list, i.e. no nodes have other properties.
@@ -478,7 +516,7 @@ module RDF::Turtle
478
516
  def collection(node, position)
479
517
  return false if !is_valid_list?(node)
480
518
  return false if position == :subject && ref_count(node) > 0
481
- return false if position == :object && non_list_prop_count(node) > 0
519
+ return false if position == :object && prop_count(node) > 0
482
520
  #log_debug("collection") {"#{node.to_ntriples}, #{position}"}
483
521
 
484
522
  @output.write(position == :subject ? "(" : " (")
@@ -486,14 +524,6 @@ module RDF::Turtle
486
524
  @output.write(')')
487
525
  end
488
526
 
489
- # Can subject be represented as a blankNodePropertyList?
490
- def blankNodePropertyList?(resource, position)
491
- resource.node? &&
492
- !is_valid_list?(resource) &&
493
- (!is_done?(resource) || position == :subject) &&
494
- ref_count(resource) == (position == :object ? 1 : 0)
495
- end
496
-
497
527
  # Represent resource as a blankNodePropertyList
498
528
  def blankNodePropertyList(resource, position)
499
529
  return false unless blankNodePropertyList?(resource, position)
@@ -592,41 +622,5 @@ module RDF::Turtle
592
622
  blankNodePropertyList(subject, :subject) || triples(subject)
593
623
  @output.puts
594
624
  end
595
-
596
- # Return the number of statements having this resource as a subject
597
- # @return [Integer]
598
- def prop_count(subject)
599
- @subjects.fetch(subject, {}).values.reduce(:+) || 0
600
- end
601
-
602
- # Return the number of statements having this resource as a subject other than for list properties
603
- # @return [Integer]
604
- def non_list_prop_count(subject)
605
- @subjects.fetch(subject, {}).
606
- reject {|k, v| [RDF.type, RDF.first, RDF.rest].include?(k)}.
607
- values.reduce(:+) || 0
608
- end
609
-
610
- # Return the number of times this node has been referenced in the object position
611
- # @return [Integer]
612
- def ref_count(resource)
613
- @references.fetch(resource, 0)
614
- end
615
-
616
- # Increase the reference count of this resource
617
- # @param [RDF::Resource] resource
618
- # @return [Integer] resulting reference count
619
- def bump_reference(resource)
620
- @references[resource] = ref_count(resource) + 1
621
- end
622
-
623
- def is_done?(subject)
624
- @serialized.include?(subject)
625
- end
626
-
627
- # Mark a subject as done.
628
- def subject_done(subject)
629
- @serialized[subject] = true
630
- end
631
625
  end
632
626
  end
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.2
4
+ version: 3.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregg Kellogg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-13 00:00:00.000000000 Z
11
+ date: 2018-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdf