Class: Cul::Hydra::RelsInt::RDFXMLWriter

Inherits:
ActiveFedora::RDFXMLWriter
  • Object
show all
Defined in:
lib/cul_hydra/rels_int/rdf_xml_writer.rb

Instance Method Summary collapse

Instance Method Details

#predicate(predicate, objects) ⇒ String

Write a predicate with one or more values.

Values may be a combination of Literal and Resource (Node or URI).

Parameters:

  • predicate (RDF::Resource)

    Predicate to serialize

  • objects (Array<RDF::Resource>)

    Objects to serialize

Returns:

  • (String)


15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/cul_hydra/rels_int/rdf_xml_writer.rb', line 15

def predicate(predicate, objects)
  add_debug {"predicate: #{predicate.inspect}, objects: #{objects}"}

  return if objects.to_a.empty?

  add_debug {"predicate: #{get_curie(predicate)}"}
  render_property(predicate, objects) do |o, inlist=nil|
    # Yields each object, for potential recursive definition.
    # If nil is returned, a leaf is produced
    #depth {subject(o, :rel => get_curie(predicate), :inlist => inlist, :element => (:li if objects.length > 1 || inlist))} if !is_done?(o) && @subjects.include?(o)
    # we don't ever want to recurse, so nil it all
    nil
  end
end