Class | Redland::QueryResults |
In: | rdf/redland/queryresults.rb |
Parent: | Object |
This class provides query language results support
results | [R] |
You shouldn‘t use this. Used internally for cleanup.
# File rdf/redland/queryresults.rb, line 17 def QueryResults.create_finalizer(results) proc{|id| "Finalizer on #{id}" #$log_final.info "closing results" Redland::librdf_free_query_results(results) } end
this is not a public constructor
# File rdf/redland/queryresults.rb, line 11 def initialize(object) @results = object ObjectSpace.define_finalizer(self,QueryResults.create_finalizer(@results)) end
Get binding name for the current result
# File rdf/redland/queryresults.rb, line 45 def binding_name(index) return Redland.librdf_query_results_get_binding_name(@results,index) end
Get binding name for the current result
# File rdf/redland/queryresults.rb, line 50 def binding_name(index) return Redland.librdf_query_results_get_binding_name(@results,index) end
Get one binding value for the current result
# File rdf/redland/queryresults.rb, line 65 def binding_value(index) node = Redland.librdf_query_results_get_binding_value(@results,index) return node.nil? ? nil : Node.new(node) end
Get the value of the variable binding name in the current query result.
# File rdf/redland/queryresults.rb, line 81 def binding_value_by_name(name) node=Redland.librdf_query_results_get_binding_value_by_name(@results,name) return node.nil? ? nil : Node.new(node) end
Get an array of all the values of all of the variable bindings in the current query result.
# File rdf/redland/queryresults.rb, line 71 def binding_values count=Redland.librdf_query_results_get_bindings_count(@results) values=[] for i in 0..count-1 values << binding_value(i) end return values end
Get an array of binding values
# File rdf/redland/queryresults.rb, line 87 def bindings (0...self.size).each{|i| binding_value( i ) } end
Get number of binding variables
# File rdf/redland/queryresults.rb, line 40 def bindings_count return Redland.librdf_query_results_get_bindings_count(@results) end
Get the number of results so far
# File rdf/redland/queryresults.rb, line 30 def count return Redland.librdf_query_results_get_count(@results) end
Test if the results are finished
# File rdf/redland/queryresults.rb, line 35 def finished? return (Redland.librdf_query_results_finished(@results) != 0) end
Get the boolean query result
# File rdf/redland/queryresults.rb, line 144 def get_boolean?() return (Redland.librdf_query_results_get_boolean(@results) != 0) end
Test if is a boolean result
# File rdf/redland/queryresults.rb, line 134 def is_boolean?() return (Redland.librdf_query_results_is_boolean(@results) != 0) end
Test if is an RDF graph result
# File rdf/redland/queryresults.rb, line 139 def is_graph?() return (Redland.librdf_query_results_is_graph(@results) != 0) end
Get the number of results so far
# File rdf/redland/queryresults.rb, line 25 def size return Redland.librdf_query_results_get_count(@results) end
Serialize to a string syntax in format_uri using the optional base_uri. The default format when none is given is determined by librdf_query_results_to_string
# File rdf/redland/queryresults.rb, line 105 def to_string(format_uri = nil, base_uri = nil) if self.is_graph?() tmpmodel=Model.new() tmpmodel.add_statements(self.as_stream()) serializer=Serializer.new() return serializer.model_to_string(base_uri, tmpmodel) end if not self.is_boolean?() and not self.is_bindings?() raise RedlandError.new("Unknown query result format cannot be written as a string") end if format_uri format_uri = format_uri.uri end if base_uri base_uri = base_uri.uri end return Redland.librdf_query_results_to_string(@results, format_uri, base_uri) end
(C) Copyright 2004-2011 Dave Beckett, (C) Copyright 2004-2005 University of Bristol