org.jrdf.graph
Interface Graph

All Superinterfaces:
Serializable
All Known Implementing Classes:
GraphImpl

public interface Graph
extends Serializable

An RDF Graph. As defined by the Resource Description Framework (RDF): Concepts and Abstract Syntax specification. An RDF graph is a set of RDF triples. The set of nodes of an RDF graph is the set of subjects and objects of triples in the graph.

Version:
$Revision: 1.1 $
Author:
Simon Raboczi, Andrew Newman

Method Summary
 void add(Iterator triples)
          Adds all the triples contained in an iterator into the graph.
 void add(SubjectNode subject, PredicateNode predicate, ObjectNode object)
          Adds a triple to the graph.
 void add(Triple triple)
          Adds a triple to the graph.
 void close()
          Closes any resources associated with this graph.
 boolean contains(SubjectNode subject, PredicateNode predicate, ObjectNode object)
          Test the graph for the occurrence of a statement.
 boolean contains(Triple triple)
          Test the graph for the occurrence of the triple.
 ClosableIterator find(SubjectNode subject, PredicateNode predicate, ObjectNode object)
          Returns an iterator of Triples to a set of statements that match a given subject, predicate and object.
 ClosableIterator find(Triple triple)
          Returns an iterator of Triples to a set of statements that match a given subject, predicate and object.
 GraphElementFactory getElementFactory()
          Returns the node factory for the graph, or creates one.
 long getNumberOfTriples()
          Returns the number of triples in the graph.
 TripleFactory getTripleFactory()
          Returns the triple factory for the graph, or creates one.
 boolean isEmpty()
          Returns true if the graph is empty i.e. the number of triples is 0.
 void remove(Iterator triples)
          Removes all the triples contained in an iterator from the graph.
 void remove(SubjectNode subject, PredicateNode predicate, ObjectNode object)
          Removes a triple from the graph.
 void remove(Triple triple)
          Removes a triple from the graph.
 

Method Detail

contains

public boolean contains(SubjectNode subject,
                        PredicateNode predicate,
                        ObjectNode object)
                 throws GraphException
Test the graph for the occurrence of a statement. A null value for any of the parts of a triple are treated as unconstrained, any values will be returned.

Parameters:
subject - The subject to find or null to indicate any subject.
predicate - The predicate to find or null to indicate any predicate.
object - The object to find or null to indicate any object.
Returns:
True if the statement is found in the model, otherwise false.
Throws:
GraphException - If there was an error accessing the graph.

contains

public boolean contains(Triple triple)
                 throws GraphException
Test the graph for the occurrence of the triple. A null value for any of the parts of a triple are treated as unconstrained, any values will be returned.

Parameters:
triple - The triple to find.
Returns:
True if the triple is found in the graph, otherwise false.
Throws:
GraphException - If there was an error accessing the graph.

find

public ClosableIterator find(SubjectNode subject,
                             PredicateNode predicate,
                             ObjectNode object)
                      throws GraphException
Returns an iterator of Triples to a set of statements that match a given subject, predicate and object. A null value for any of the parts of a triple are treated as unconstrained, any values will be returned.

Parameters:
subject - The subject to find or null to indicate any subject.
predicate - The predicate to find or null to indicate any predicate.
object - ObjectNode The object to find or null to indicate any object.
Returns:
an iterator containing the matching statements.
Throws:
GraphException - If there was an error accessing the graph.

find

public ClosableIterator find(Triple triple)
                      throws GraphException
Returns an iterator of Triples to a set of statements that match a given subject, predicate and object. A null value for any of the parts of a triple are treated as unconstrained, any values will be returned.

Parameters:
triple - The triple to find.
Returns:
an iterator containing the matching statements.
Throws:
GraphException - If there was an error accessing the graph.

add

public void add(SubjectNode subject,
                PredicateNode predicate,
                ObjectNode object)
         throws GraphException
Adds a triple to the graph. The nodes must have already been created using GraphElementFactory.

Parameters:
subject - The subject.
predicate - The predicate.
object - The object.
Throws:
GraphException - If the statement can't be made.

add

public void add(Triple triple)
         throws GraphException
Adds a triple to the graph. The nodes must have already been created using GraphElementFactory.

Parameters:
triple - The triple.
Throws:
GraphException - If the statement can't be made.

add

public void add(Iterator triples)
         throws GraphException
Adds all the triples contained in an iterator into the graph. The nodes must have already been created using GraphElementFactory.

Parameters:
triples - The triple iterator.
Throws:
GraphException - If the statements can't be made.

close

public void close()
Closes any resources associated with this graph.


remove

public void remove(SubjectNode subject,
                   PredicateNode predicate,
                   ObjectNode object)
            throws GraphException
Removes a triple from the graph. The nodes must have already been created using GraphElementFactory.

Parameters:
subject - The subject.
predicate - The predicate.
object - The object.
Throws:
GraphException - If there was an error revoking the statement, For example if it didn't exist.

remove

public void remove(Triple triple)
            throws GraphException
Removes a triple from the graph. The nodes must have already been created using GraphElementFactory.

Parameters:
triple - The triple.
Throws:
GraphException - If there was an error revoking the statement, For example if it didn't exist.

remove

public void remove(Iterator triples)
            throws GraphException
Removes all the triples contained in an iterator from the graph. The nodes must have already been created using GraphElementFactory.

Parameters:
triples - The triple iterator.
Throws:
GraphException - If the statements can't be revoked.

getElementFactory

public GraphElementFactory getElementFactory()
Returns the node factory for the graph, or creates one.

Returns:
the node factory for the graph, or creates one.

getTripleFactory

public TripleFactory getTripleFactory()
Returns the triple factory for the graph, or creates one.

Returns:
the triple factory for the graph, or creates one.

getNumberOfTriples

public long getNumberOfTriples()
                        throws GraphException
Returns the number of triples in the graph.

Returns:
the number of triples in the graph.
Throws:
GraphException - If the statements number of statements in the graph fails to be found.

isEmpty

public boolean isEmpty()
                throws GraphException
Returns true if the graph is empty i.e. the number of triples is 0.

Returns:
true if the graph is empty i.e. the number of triples is 0.
Throws:
GraphException - If the statements number of statements in the graph fails to be found.