org.jrdf.graph
Interface Graph

All Known Implementing Classes:
GraphImpl

public interface Graph

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: 1872 $
Author:
Simon Raboczi, Andrew Newman

Method Summary
 void add(Iterator<Triple> 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... triples)
          Adds all the triples into the graph.
 void add(Triple triple)
          Adds a triple to the graph.
 void clear()
          Removes all statements and resource related to those statements from 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<Triple> 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<Triple> find(Triple triple)
          Returns an iterator of Triples to a set of statements that match a given subject, predicate and object.
 ClosableIterator<? extends Node> findNodes(NodeType type)
          Returns all unique values of a given type.
 ClosableIterator<PredicateNode> findPredicates(Resource resource)
          Return predicates that are part of an RDF triple where resource is either a subject or object.
 ClosableIterator<? super Resource> findResources(ValueNodeType type)
          Returns all unique resources for a given ValueNodeType (BNode or URIReference is currently supported).
 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<Triple> 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... triples)
          Removes all the triples into the graph.
 void remove(Triple triple)
          Removes a triple from the graph.
 

Method Detail

contains

boolean contains(Triple triple)
                 throws GraphException
Test the graph for the occurrence of the triple. An AnyNode 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.

contains

boolean contains(SubjectNode subject,
                 PredicateNode predicate,
                 ObjectNode object)
                 throws GraphException
Test the graph for the occurrence of a statement. An AnyNode 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 AnySubjectNode to indicate any subject.
predicate - The predicate to find or AnyPredicateNode to indicate any predicate.
object - The object to find or AnyObjectNode 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.

find

ClosableIterator<Triple> find(Triple triple)
                              throws GraphException
Returns an iterator of Triples to a set of statements that match a given subject, predicate and object. An AnyNode 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.

find

ClosableIterator<Triple> 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. An AnyNode 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 AnySubjectNode to indicate any subject.
predicate - The predicate to find or AnyPredicateNode to indicate any predicate.
object - The object to find or AnyObjectNode to indicate any object.
Returns:
an iterator containing the matching statements.
Throws:
GraphException - If there was an error accessing the graph.

findNodes

ClosableIterator<? extends Node> findNodes(NodeType type)
Returns all unique values of a given type.

Parameters:
type - the node type can be positional (SPO) or node type (URIReference, Literal or BNode).
Returns:
all unique values of a given type.

findPredicates

ClosableIterator<PredicateNode> findPredicates(Resource resource)
                                               throws GraphException
Return predicates that are part of an RDF triple where resource is either a subject or object.

Parameters:
resource - the resource that is either a subject or object in a triple.
Returns:
the unique predicates associated with the resource.
Throws:
GraphException - If there was an error accessing the graph.

findResources

ClosableIterator<? super Resource> findResources(ValueNodeType type)
Returns all unique resources for a given ValueNodeType (BNode or URIReference is currently supported). Resources are nodes that appear in either the subject or object position.

Parameters:
type - either BlankNodeType or URIReferenceNodeType.
Returns:
all unique resources.

add

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

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

void add(Iterator<Triple> 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.

add

void add(Triple... triples)
         throws GraphException
Adds all the triples into the graph. The nodes must have already been created using GraphElementFactory.

Parameters:
triples - the triples to add.
Throws:
GraphException - If the statements can't be made.

clear

void clear()
Removes all statements and resource related to those statements from the graph.


close

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


remove

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

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

void remove(Iterator<Triple> 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.

remove

void remove(Triple... triples)
            throws GraphException
Removes all the triples into the graph. The nodes must have already been created using GraphElementFactory.

Parameters:
triples - the triples to remove.
Throws:
GraphException - If the statements can't be revoked.

getElementFactory

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

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

getTripleFactory

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

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

getNumberOfTriples

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

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.