Redland RDF Application Framework - Ruby RDoc - Class: Redland::QueryResults

Go to Redland Home - Language Bindings Home - Ruby API Home

Class | Redland::QueryResults
In: | rdf/redland/queryresults.rb
Parent: | Object

This class provides query language results support

### Methods

as_stream binding_name binding_name binding_names binding_value binding_value_by_name binding_values bindings bindings_count count create_finalizer finished? get_boolean? is_bindings? is_boolean? is_graph? new next size to_string

### Attributes

results | [R] |

### Public Class methods

create_finalizer(results)

You shouldn‘t use this. Used internally for cleanup.

[Source]

    # 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

new(object)

this is not a public constructor

[Source]

    # File rdf/redland/queryresults.rb, line 11
        def initialize(object)
          @results = object
          ObjectSpace.define_finalizer(self,QueryResults.create_finalizer(@results))
        end

### Public Instance methods

as_stream()

Get a new Stream object representing the query results as an RDF Graph.

[Source]

    # File rdf/redland/queryresults.rb, line 97
        def as_stream
          my_stream=Redland.librdf_query_results_as_stream(@results)
          return Stream.new(my_stream, self)
        end

binding_name(index)

Get binding name for the current result

[Source]

    # File rdf/redland/queryresults.rb, line 45
        def binding_name(index)
          return Redland.librdf_query_results_get_binding_name(@results,index)
        end

binding_name(index)

Get binding name for the current result

[Source]

    # File rdf/redland/queryresults.rb, line 50
        def binding_name(index)
          return Redland.librdf_query_results_get_binding_name(@results,index)
        end

binding_names()

Get the names all of the variable bindings as an array

[Source]

    # File rdf/redland/queryresults.rb, line 55
        def binding_names
          count=Redland.librdf_query_results_get_bindings_count(@results)
          names=[]
          for i in 0..count-1
            names << binding_name(i)
          end
          return names
        end

binding_value(index)

Get one binding value for the current result

[Source]

    # 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

binding_value_by_name(name)

Get the value of the variable binding name in the current query result.

[Source]

    # 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

binding_values()

Get an array of all the values of all of the variable bindings in the current query result.

[Source]

    # 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

bindings()

Get an array of binding values

[Source]

    # File rdf/redland/queryresults.rb, line 87
        def bindings
          (0...self.size).each{|i| binding_value( i ) }
        end

bindings_count()

Get number of binding variables

[Source]

    # File rdf/redland/queryresults.rb, line 40
        def bindings_count
          return Redland.librdf_query_results_get_bindings_count(@results)
        end

count()

Get the number of results so far

[Source]

    # File rdf/redland/queryresults.rb, line 30
        def count
          return Redland.librdf_query_results_get_count(@results)
        end

finished?()

Test if the results are finished

[Source]

    # File rdf/redland/queryresults.rb, line 35
        def finished?
          return (Redland.librdf_query_results_finished(@results) != 0)
        end

get_boolean?()

Get the boolean query result

[Source]

    # File rdf/redland/queryresults.rb, line 144
        def get_boolean?()
          return (Redland.librdf_query_results_get_boolean(@results) != 0)
        end

is_bindings?()

Test if is variable bindings result

[Source]

    # File rdf/redland/queryresults.rb, line 129
        def is_bindings?()
          return (Redland.librdf_query_results_is_bindings(@results) != 0)
        end

is_boolean?()

Test if is a boolean result

[Source]

    # File rdf/redland/queryresults.rb, line 134
        def is_boolean?()
          return (Redland.librdf_query_results_is_boolean(@results) != 0)
        end

is_graph?()

Test if is an RDF graph result

[Source]

    # File rdf/redland/queryresults.rb, line 139
        def is_graph?()
          return (Redland.librdf_query_results_is_graph(@results) != 0)
        end

next()

Move to the next query result

[Source]

    # File rdf/redland/queryresults.rb, line 92
        def next
          Redland.librdf_query_results_next(@results)
        end

size()

Get the number of results so far

[Source]

    # File rdf/redland/queryresults.rb, line 25
        def size
          return Redland.librdf_query_results_get_count(@results)
        end

to_string(format_uri = nil, base_uri = nil)

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

[Source]

    # 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

Go to Redland Home - Language Bindings Home - Ruby API Home

(C) Copyright 2004-2011 Dave Beckett, (C) Copyright 2004-2005 University of Bristol