org.jrdf.graph
Interface TripleFactory

All Known Implementing Classes:
AbstractTripleFactory

public interface TripleFactory

A Triple Factory is a class which defines the creation of triples and certain sets of triples. This includes generating triples for reification, containers and collections.

Version:
$Revision: 1811 $
Author:
Andrew Newman

Method Summary
 void addAlternative(SubjectNode subjectNode, Alternative alternative)
          Inserts a alternative using the given subject.
 void addBag(SubjectNode subjectNode, Bag bag)
          Inserts a bag using the given subject.
 void addCollection(SubjectNode firstNode, Collection collection)
          Inserts a collection using the given subject.
 void addSequence(SubjectNode subjectNode, Sequence sequence)
          Inserts a sequence using the given subject.
 Triple addTriple(URI subject, URI predicate, Object object)
          Creates and adds a new triple to the graph.
 Triple addTriple(URI subject, URI predicate, String object)
          Creates and adds a new triple to the graph.
 Triple addTriple(URI subject, URI predicate, String object, String language)
          Creates and adds new triple to the graph.
 Triple addTriple(URI subject, URI predicate, String object, URI dataType)
          Creates and adds new triple to graph.
 Triple addTriple(URI subject, URI predicate, URI object)
          Creates and adds a new triple to the graph.
 Triple createTriple(SubjectNode subject, PredicateNode predicate, ObjectNode object)
          Creates a new triple to be used in the graph.
 void reifyTriple(SubjectNode subjectNode, PredicateNode predicateNode, ObjectNode objectNode, SubjectNode reificationNode)
          Reifies a triple. 4 statements are added with the given subject, predicate and object.
 void reifyTriple(Triple triple, SubjectNode reificationNode)
          Reifies a triple. 4 statements are added with the triple's subject, predicate and object.
 

Method Detail

addTriple

Triple addTriple(URI subject,
                 URI predicate,
                 URI object)
                 throws GraphElementFactoryException
Creates and adds a new triple to the graph.

Parameters:
subject - The subject of the statement.
predicate - The predicate of the statement.
object - The object of the statement.
Returns:
the newly created triple object.
Throws:
GraphElementFactoryException - if it fails to create the given subject, predicate object.

addTriple

Triple addTriple(URI subject,
                 URI predicate,
                 String object)
                 throws GraphElementFactoryException
Creates and adds a new triple to the graph.

Parameters:
subject - The subject of the statement.
predicate - The predicate of the statement.
object - The object of the statement. Creates a literal without a language or datatype with the given lexical value.
Returns:
the newly created triple object.
Throws:
GraphElementFactoryException - if it fails to create the given subject, predicate and object.

addTriple

Triple addTriple(URI subject,
                 URI predicate,
                 Object object)
                 throws GraphElementFactoryException
Creates and adds a new triple to the graph.

Parameters:
subject - The subject of the statement.
predicate - The predicate of the statement.
object - The native value of the object of the statement.
Returns:
the newly created triple object.
Throws:
GraphElementFactoryException - if it fails to create the given subject, predicate and object. The object must have a type registered in the DatatypeFactory.

addTriple

Triple addTriple(URI subject,
                 URI predicate,
                 String object,
                 String language)
                 throws GraphElementFactoryException
Creates and adds new triple to the graph.

Parameters:
subject - The subject of the statement.
predicate - The predicate of the statement.
object - The lexical value of the literal.
language - The language of the object.
Returns:
the newly created triple object.
Throws:
GraphElementFactoryException - if it fails to create the given subject, predicate and object.

addTriple

Triple addTriple(URI subject,
                 URI predicate,
                 String object,
                 URI dataType)
                 throws GraphElementFactoryException
Creates and adds new triple to graph.

Parameters:
subject - The subject of the statement.
predicate - The predicate of the statement.
object - The lexical value of the literal.
dataType - The datatype of the object.
Returns:
the newly created triple object.
Throws:
GraphElementFactoryException - if it fails to create the given subject, predicate and object.

createTriple

Triple createTriple(SubjectNode subject,
                    PredicateNode predicate,
                    ObjectNode object)
Creates a new triple to be used in the graph. Does not add it to an associated graph. Use @see Graph#add or #addTriple.

Parameters:
subject - The subject of the statement.
predicate - The predicate of the statement.
object - The object of the statement.
Returns:
the newly created triple object.

reifyTriple

void reifyTriple(SubjectNode subjectNode,
                 PredicateNode predicateNode,
                 ObjectNode objectNode,
                 SubjectNode reificationNode)
                 throws TripleFactoryException
Reifies a triple. 4 statements are added with the given subject, predicate and object. These are added as objects to the the reified triple. The triple being reified is not added to the graph.

Parameters:
subjectNode - the subject of the triple.
predicateNode - the predicate of the triple.
objectNode - the object of the triple.
reificationNode - a node denoting the reified triple.
Throws:
TripleFactoryException - If the resource failed to be added.
AlreadyReifiedException - If there was already a triple URI for the given triple.

reifyTriple

void reifyTriple(Triple triple,
                 SubjectNode reificationNode)
                 throws TripleFactoryException
Reifies a triple. 4 statements are added with the triple's subject, predicate and object. These are added as objects to the reified triple. The triple being reified is not added to the graph.

Parameters:
triple - the triple to be reified.
reificationNode - a node denoting the reified triple.
Throws:
TripleFactoryException - If the resource failed to be added, for example already reified.

addAlternative

void addAlternative(SubjectNode subjectNode,
                    Alternative alternative)
                    throws TripleFactoryException
Inserts a alternative using the given subject. The subject is also the object of a proceeding statement that identifies the container.

Parameters:
subjectNode - the subject node of the triple.
alternative - the alternative to add.
Throws:
TripleFactoryException - If the resources were failed to be added.

addBag

void addBag(SubjectNode subjectNode,
            Bag bag)
            throws TripleFactoryException
Inserts a bag using the given subject. The subject is also the object of a proceeding statement that identifies the container.

Parameters:
subjectNode - the subject node of the triple.
bag - the bag to add.
Throws:
TripleFactoryException - If the resources were failed to be added.

addSequence

void addSequence(SubjectNode subjectNode,
                 Sequence sequence)
                 throws TripleFactoryException
Inserts a sequence using the given subject. The subject is also the object of a proceeding statement that identifies the container.

Parameters:
subjectNode - the subject node of the triple.
sequence - the sequence to add.
Throws:
TripleFactoryException - If the resources were failed to be added.

addCollection

void addCollection(SubjectNode firstNode,
                   Collection collection)
                   throws TripleFactoryException
Inserts a collection using the given subject. The subject is also the object of a proceeding statement that identifies the collection.

Parameters:
firstNode - the subject node of the triple.
collection - the collection to add.
Throws:
TripleFactoryException - If the resources were failed to be added.