com.hp.hpl.jena.graph.query
Class SimpleQueryHandler

java.lang.Object
  extended by com.hp.hpl.jena.graph.query.SimpleQueryHandler
All Implemented Interfaces:
QueryHandler

public class SimpleQueryHandler
extends Object
implements QueryHandler

A SimpleQueryHandler is a more-or-less straightforward implementation of QueryHandler suitable for use on graphs with no special query engines.

Author:
kers

Constructor Summary
SimpleQueryHandler(Graph graph)
          make an instance, remember the graph
 
Method Summary
 boolean containsNode(Node n)
          this is a simple-minded implementation of containsNode that uses find up to three times to locate the node.
static com.hp.hpl.jena.util.iterator.ExtendedIterator<Node> objectsFor(Graph g, Node s, Node p)
           
 com.hp.hpl.jena.util.iterator.ExtendedIterator<Node> objectsFor(Node s, Node p)
          deliver an iterator over all the objects _o_ such that _(s, p, o)_ is in the underlying graph; nulls count as wildcards.
 Stage patternStage(Mapping map, ExpressionSet constraints, Triple[] t)
          produce a single Stage which will probe the underlying graph for triples matching p and inject all the resulting bindings into the processing stream (see Stage for details)
static com.hp.hpl.jena.util.iterator.ExtendedIterator<Node> predicatesFor(Graph g, Node s, Node o)
           
 com.hp.hpl.jena.util.iterator.ExtendedIterator<Node> predicatesFor(Node s, Node o)
          Answer an iterator over all the predicates p such that (s, p, o) is in the underlying graph.
 BindingQueryPlan prepareBindings(GraphQuery q, Node[] variables)
          prepare a plan for generating bindings given the query _q_ and the result variables _variables_.
 TreeQueryPlan prepareTree(Graph pattern)
          deliver a plan for executing the tree-match query defined by _pattern_.
static com.hp.hpl.jena.util.iterator.ExtendedIterator<Node> subjectsFor(Graph g, Node p, Node o)
           
 com.hp.hpl.jena.util.iterator.ExtendedIterator<Node> subjectsFor(Node p, Node o)
          deliver an iterator over all the subjects _s_ such that _(s, p, o)_ is in the underlying graph; nulls count as wildcards.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleQueryHandler

public SimpleQueryHandler(Graph graph)
make an instance, remember the graph

Method Detail

patternStage

public Stage patternStage(Mapping map,
                          ExpressionSet constraints,
                          Triple[] t)
Description copied from interface: QueryHandler
produce a single Stage which will probe the underlying graph for triples matching p and inject all the resulting bindings into the processing stream (see Stage for details)

_map_ is the variable binding map to use and update. _constraints_ is the current constraint expression: if this Stage can absorb some of the ANDed constraints, it may do so, and remove them from the ExpressionSet.

Specified by:
patternStage in interface QueryHandler

prepareBindings

public BindingQueryPlan prepareBindings(GraphQuery q,
                                        Node[] variables)
Description copied from interface: QueryHandler
prepare a plan for generating bindings given the query _q_ and the result variables _variables_.

Specified by:
prepareBindings in interface QueryHandler

prepareTree

public TreeQueryPlan prepareTree(Graph pattern)
Description copied from interface: QueryHandler
deliver a plan for executing the tree-match query defined by _pattern_.

Specified by:
prepareTree in interface QueryHandler

objectsFor

public com.hp.hpl.jena.util.iterator.ExtendedIterator<Node> objectsFor(Node s,
                                                                       Node p)
Description copied from interface: QueryHandler
deliver an iterator over all the objects _o_ such that _(s, p, o)_ is in the underlying graph; nulls count as wildcards. .remove() is not defined on this iterator.

Specified by:
objectsFor in interface QueryHandler

subjectsFor

public com.hp.hpl.jena.util.iterator.ExtendedIterator<Node> subjectsFor(Node p,
                                                                        Node o)
Description copied from interface: QueryHandler
deliver an iterator over all the subjects _s_ such that _(s, p, o)_ is in the underlying graph; nulls count as wildcards. .remove() is not defined on this iterator.

Specified by:
subjectsFor in interface QueryHandler

predicatesFor

public com.hp.hpl.jena.util.iterator.ExtendedIterator<Node> predicatesFor(Node s,
                                                                          Node o)
Description copied from interface: QueryHandler
Answer an iterator over all the predicates p such that (s, p, o) is in the underlying graph. .remove() is not defined on this iterator.

Specified by:
predicatesFor in interface QueryHandler

objectsFor

public static com.hp.hpl.jena.util.iterator.ExtendedIterator<Node> objectsFor(Graph g,
                                                                              Node s,
                                                                              Node p)

subjectsFor

public static com.hp.hpl.jena.util.iterator.ExtendedIterator<Node> subjectsFor(Graph g,
                                                                               Node p,
                                                                               Node o)

predicatesFor

public static com.hp.hpl.jena.util.iterator.ExtendedIterator<Node> predicatesFor(Graph g,
                                                                                 Node s,
                                                                                 Node o)

containsNode

public boolean containsNode(Node n)
this is a simple-minded implementation of containsNode that uses find up to three times to locate the node. Almost certainly particular graphs will be able to offer better query-handlers ...

Specified by:
containsNode in interface QueryHandler


Licenced under the Apache License, Version 2.0