com.hp.hpl.jena.reasoner.transitiveReasoner
Class TransitiveInfGraph

java.lang.Object
  extended bycom.hp.hpl.jena.graph.impl.GraphBase
      extended bycom.hp.hpl.jena.reasoner.BaseInfGraph
          extended bycom.hp.hpl.jena.reasoner.transitiveReasoner.TransitiveInfGraph
All Implemented Interfaces:
Graph, InfGraph

public class TransitiveInfGraph
extends BaseInfGraph

Implementation of InfGraph used by the TransitiveReasoner. This is returned by the TransitiveReasoner when a data graph (together with an optional schema) has been bound.

The cached property and class graphs are calculated by the reasoner when the schema is bound. If the data graph does not include schema information then the caches generated at schema binding stage are reused here. Otherwise the caches are regenerated.

Version:
$Revision: 1.13 $ on $Date: 2003/06/24 15:47:04 $
Author:
Dave Reynolds

Field Summary
 
Fields inherited from interface com.hp.hpl.jena.graph.Graph
ADD, DELETE, ORDERED, SIZE
 
Constructor Summary
TransitiveInfGraph(Graph data, TransitiveReasoner reasoner)
          Constructor.
 
Method Summary
 void add(Triple t)
          Add one triple to the data graph, run any rules triggered by the new data item, recursively adding any generated triples.
 int capabilities()
          Returns the bitwise or of ADD, DELETE, SIZE and ORDERED, to show the capabilities of this implementation of Graph.
 void delete(Triple t)
          Removes the triple t (if possible) from the set belonging to this graph.
 ExtendedIterator find(Node subject, Node property, Node object)
          Returns an iterator over Triples.
 ExtendedIterator find(TriplePattern pattern)
          Basic pattern lookup interface.
 ExtendedIterator findWithContinuation(TriplePattern pattern, Finder continuation)
          Extended find interface used in situations where the implementator may or may not be able to answer the complete query.
 Graph getSchemaGraph()
          Return the schema graph, if any, bound into this inference graph.
 void prepare()
          Perform any initial processing and caching.
 
Methods inherited from class com.hp.hpl.jena.reasoner.BaseInfGraph
cloneWithPremises, contains, contains, find, find, getDerivation, getGlobalProperty, getRawGraph, getReasoner, rebind, rebind, reset, setDerivationLogging, size, testGlobalProperty, validate
 
Methods inherited from class com.hp.hpl.jena.graph.impl.GraphBase
close, dependsOn, getBulkUpdateHandler, getCapabilities, getEventManager, getPrefixMapping, getReifier, getTransactionHandler, isIsomorphicWith, notifyAdd, notifyDelete, performAdd, performDelete, queryHandler, toString, withReification
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.hp.hpl.jena.graph.Graph
close, dependsOn, getBulkUpdateHandler, getCapabilities, getEventManager, getPrefixMapping, getReifier, getTransactionHandler, isIsomorphicWith, queryHandler
 

Constructor Detail

TransitiveInfGraph

public TransitiveInfGraph(Graph data,
                          TransitiveReasoner reasoner)
Constructor. Called by the TransitiveReasoner when it is bound to a data graph.

Parameters:
reasoner - the parent instance of the transitive reasoner, including any precomputed class and property caches
data - the data graph being bound in.
Method Detail

prepare

public void prepare()
Perform any initial processing and caching. This call is optional. Most engines either have negligable set up work or will perform an implicit "prepare" if necessary. The call is provided for those occasions where substantial preparation work is possible (e.g. running a forward chaining rule system) and where an application might wish greater control over when this prepration is done.

Specified by:
prepare in interface InfGraph
Overrides:
prepare in class BaseInfGraph

getSchemaGraph

public Graph getSchemaGraph()
Return the schema graph, if any, bound into this inference graph.

Specified by:
getSchemaGraph in class BaseInfGraph

findWithContinuation

public ExtendedIterator findWithContinuation(TriplePattern pattern,
                                             Finder continuation)
Extended find interface used in situations where the implementator may or may not be able to answer the complete query. It will attempt to answer the pattern but if its answers are not known to be complete then it will also pass the request on to the nested Finder to append more results.

Specified by:
findWithContinuation in class BaseInfGraph
Parameters:
pattern - a TriplePattern to be matched against the data
continuation - either a Finder or a normal Graph which will be asked for additional match results if the implementor may not have completely satisfied the query.

find

public ExtendedIterator find(Node subject,
                             Node property,
                             Node object)
Returns an iterator over Triples.

Specified by:
find in interface Graph
Overrides:
find in class BaseInfGraph

find

public ExtendedIterator find(TriplePattern pattern)
Basic pattern lookup interface.

Overrides:
find in class BaseInfGraph
Parameters:
pattern - a TriplePattern to be matched against the data
Returns:
a ExtendedIterator over all Triples in the data set that match the pattern

add

public void add(Triple t)
Add one triple to the data graph, run any rules triggered by the new data item, recursively adding any generated triples.

Specified by:
add in interface Graph
Overrides:
add in class BaseInfGraph

capabilities

public int capabilities()
Returns the bitwise or of ADD, DELETE, SIZE and ORDERED, to show the capabilities of this implementation of Graph. So a read-only graph that finds in an unordered fashion, but can tell you how many triples are in the graph returns SIZE.

Specified by:
capabilities in interface Graph
Overrides:
capabilities in class BaseInfGraph

delete

public void delete(Triple t)
Removes the triple t (if possible) from the set belonging to this graph.

Specified by:
delete in interface Graph
Overrides:
delete in class BaseInfGraph


Copyright © 2001-2003 Hewlett-Packard. All Rights Reserved.