class Redland::Stream
This module provides a method to generate a stream of statements, suitable for outputing from RDF/XML parsers, returning as the results of queries and serialising models in order to manipulate them or transform into another syntax.
Attributes
stream[RW]
Public Class Methods
create_finalizer(stream)
click to toggle source
You shouldn't use this. Used internally for cleanup.
# File lib/rdf/redland/stream.rb, line 22 def Stream.create_finalizer(stream) proc {|id| # "Finalizer on #{id}" #puts "closing stream" Redland::librdf_free_stream(stream) } end
new(object,model)
click to toggle source
Create a wrapper for a librdf_stream object (?? confirm)
# File lib/rdf/redland/stream.rb, line 15 def initialize(object,model) @stream = object @model = model ObjectSpace.define_finalizer(self,Stream.create_finalizer(@stream)) end
Public Instance Methods
context()
click to toggle source
Get the context of the current Statement in the stream
# File lib/rdf/redland/stream.rb, line 62 def context() if not self.stream return true end my_node = Redland.librdf_stream_get_context(@stream) if not my_node return nil else return Node.new(:from_object=>my_node) end end
current()
click to toggle source
Get the current Statement in the stram
# File lib/rdf/redland/stream.rb, line 39 def current if not self.stream return nil end my_statement = Redland.librdf_stream_get_object(self.stream) unless my_statement return nil else return Statement.new(:from_object=>my_statement,:model=>@model) end end
end?()
click to toggle source
Test if the stream has ended
# File lib/rdf/redland/stream.rb, line 30 def end? if not @stream return true else return (Redland.librdf_stream_end(self.stream) != 0) end end
next()
click to toggle source
Move to the next Statement in the stream
# File lib/rdf/redland/stream.rb, line 53 def next() if not self.stream return true else return Redland.librdf_stream_next(self.stream) end end