Class | Redland::Serializer |
In: | rdf/redland/serializer.rb |
Parent: | Object |
This module provides RDF graph to syntax serialization support via factory classes providing one or more particular target syntaxes.
You shouldn’t use this. Used internally for cleanup.
# File rdf/redland/serializer.rb, line 27 def Serializer.create_finalizer(serializer) proc {|id| "Finalizer on #{id}" log_final.info "closing serializer" Redland::librdf_free_serializer(serializer) } end
Constructor - create a new Serializer object name - the serializer factory name mime_type - the MIME type of the syntax uri - URI of syntax
# File rdf/redland/serializer.rb, line 12 def initialize(name="",mime_type="application/rdf+xml",uri=nil) if uri uri = uri.uri end @serializer = Redland.librdf_new_serializer($world.world,name,mime_type,uri) ObjectSpace.define_finalizer(self,Serializer.create_finalizer(@serializer)) end
Create a NTriples serializer uri - URI of syntax
# File rdf/redland/serializer.rb, line 22 def Serializer.ntriples(uri=nil) return Serializer.new('ntriples','text/plain',uri) end
Get a parser feature. The feature is named via RDF::Redland::URI I<URI>
# File rdf/redland/serializer.rb, line 47 def feature(uri) uri = Uri.new(uri) unless uri.class == Uri value = Redland::librdf_serializer_get_feature(@serializer,uri.uri) if value == "NULL" or value==nil return nil else return Node.new(:from_object=>'value') end end
Set a serializer feature. The feature is named via RDF::Redland::URI I<URI> and the value is a RDF::Redland::Node.
# File rdf/redland/serializer.rb, line 59 def feature=(uri,value) uri = Uri.new(uri) unless uri.class == Uri if value.class == String then value = Node.new(:literal=>'value') end return (Redland::librdf_serializer_set_feature(@serializer,uri.uri,value.node) == 0) end
Serialize the RDF graph in model to a string
# File rdf/redland/serializer.rb, line 72 def model_to_string(base_uri, model) base_uri = base_uri.uri unless base_uri == nil return Redland.librdf_serializer_serialize_model_to_string(@serializer, base_uri, model.model) end
Set a serializer namepace to the desired prefix
# File rdf/redland/serializer.rb, line 66 def set_namespace(uri,prefix) uri = Uri.new(uri) unless uri.class == Uri return (Redland::librdf_serializer_set_namespace(@serializer,uri.uri,prefix) == 0) end
Serializes a model and stores it in a file name - the serializer factory name mime_type - the MIME type of the syntax base_uri - URI of syntax
# File rdf/redland/serializer.rb, line 38 def to_file(name,model,base_uri=nil) if base_uri base_uri = base_uri.uri end return Redland.librdf_serializer_serialize_model_to_file(@serializer,name,base_uri,model.model) end
(C) Copyright 2004-2006 Dave Beckett, (C) Copyright 2004-2005 University of Bristol