module RDF::Serializers::Relationship
Attributes
association[RW]
image[RW]
predicate[RW]
sequence[RW]
Public Instance Methods
include_relationship?(record, serialization_params, included = false)
click to toggle source
Calls superclass method
# File lib/rdf/serializers/relationship.rb, line 41 def include_relationship?(record, serialization_params, included = false) return false if lazy_load_data && !included super(record, serialization_params) end
iris_from_record_and_relationship(record, params = {})
click to toggle source
# File lib/rdf/serializers/relationship.rb, line 47 def iris_from_record_and_relationship(record, params = {}) initialize_static_serializer unless @initialized_static_serializer associated_object = fetch_associated_object(record, params) return [] unless associated_object if associated_object.respond_to? :map return associated_object.compact.map do |object| iri_from_record(object) end end [iri_from_record(associated_object)] end
relationship_sequence(record, iris, serialization_params)
click to toggle source
# File lib/rdf/serializers/relationship.rb, line 18 def relationship_sequence(record, iris, serialization_params) sequence = RDF::Node.new [ value_to_hex(iri_from_record(record).to_s, predicate, sequence, nil, serialization_params), value_to_hex(sequence, RDF.type, RDF.Seq, nil, serialization_params) ] + iris.map.with_index do |iri, index| value_to_hex(sequence, RDF["_#{index}"], iri, nil, serialization_params) end end
relationship_statements(record, iris, serialization_params)
click to toggle source
# File lib/rdf/serializers/relationship.rb, line 29 def relationship_statements(record, iris, serialization_params) iris.map do |related_iri| value_to_hex( iri_from_record(record).to_s, predicate, related_iri, nil, serialization_params ) end end
serialize_hex(record, included, serialization_params)
click to toggle source
# File lib/rdf/serializers/relationship.rb, line 10 def serialize_hex(record, included, serialization_params) return [] unless include_relationship?(record, serialization_params, included) && predicate.present? iris = iris_from_record_and_relationship(record, serialization_params) sequence ? relationship_sequence(record, iris, serialization_params) : relationship_statements(record, iris, serialization_params) end