module Redlander::Serializing

Syntax parsing methods. “self” is assumed to be an instance of Redlander::Model

Public Instance Methods

to(options = {}) click to toggle source

Serialize model into a string

@param [Hash] options @option options [String] :format name of the serializer to use, @option options [String] :mime_type MIME type of the syntax, if applicable, @option options [String, URI] :type_uri URI of syntax, if applicable, @option options [String, URI] :base_uri base URI,

to be applied to the nodes with relative URIs.

@raise [RedlandError] if it fails to create a serializer

# File lib/redlander/serializing.rb, line 14
def to(options = {})
  format = options[:format].to_s
  mime_type = options[:mime_type] && options[:mime_type].to_s
  type_uri = options[:type_uri] && options[:type_uri].to_s
  base_uri = options[:base_uri] && options[:base_uri].to_s

  rdf_serializer = Redland.librdf_new_serializer(Redlander.rdf_world, format, mime_type, type_uri)
  raise RedlandError, "Failed to create a new serializer" if rdf_serializer.null?

  begin
    if options[:file]
      Redland.librdf_serializer_serialize_model_to_file(rdf_serializer, options[:file], base_uri, @rdf_model).zero?
    else
      Redland.librdf_serializer_serialize_model_to_string(rdf_serializer, base_uri, @rdf_model)
    end
  ensure
    Redland.librdf_free_serializer(rdf_serializer)
  end
end
to_dot(options = {}) click to toggle source

Serialize the model in Dot format. Shortcut for {#to}(:format => “dot”).

@param (see to) @return [String]

# File lib/redlander/serializing.rb, line 75
def to_dot(options = {})
  to(options.merge(:format => "dot"))
end
to_file(filename, options = {}) click to toggle source

Serialize the model to a file. Shortcut for {#to}(:format => “rdfxml”).

@param [String] filename path to the output file @param [Hash] options (see {#to} options) @return [void]

# File lib/redlander/serializing.rb, line 85
def to_file(filename, options = {})
  to(options.merge(:file => filename))
end
to_json(options = {}) click to toggle source

Serialize the model in JSON format. Shortcut for {#to}(:format => “json”).

@param (see to) @return [String]

# File lib/redlander/serializing.rb, line 66
def to_json(options = {})
  to(options.merge(:format => "json"))
end
to_ntriples(options = {}) click to toggle source

Serialize the model in NTriples format. Shortcut for {#to}(:format => “ntriples”).

@param (see to) @return [String]

# File lib/redlander/serializing.rb, line 48
def to_ntriples(options = {})
  to(options.merge(:format => "ntriples"))
end
to_rdfxml(options = {}) click to toggle source

Serialize the model in RDF/XML format. Shortcut for {#to}(:format => “rdfxml”).

@param (see to) @return [String]

# File lib/redlander/serializing.rb, line 39
def to_rdfxml(options = {})
  to(options.merge(:format => "rdfxml"))
end
to_turtle(options = {}) click to toggle source

Serialize the model in Turtle format. Shortcut for {#to}(:format => “turtle”).

@param (see to) @return [String]

# File lib/redlander/serializing.rb, line 57
def to_turtle(options = {})
  to(options.merge(:format => "turtle"))
end