org.openrdf.model.util
Class GraphUtil

java.lang.Object
  extended by org.openrdf.model.util.GraphUtil

public class GraphUtil
extends Object

Utility methods for working with Graph objects.

Author:
Arjohn Kampman

Constructor Summary
GraphUtil()
           
 
Method Summary
static Iterator<Value> getObjectIterator(Graph graph, Resource subj, URI pred, Resource... contexts)
          Gets the objects of the statements with the specified subject, predicate and (optionally) contexts from the supplied graph.
static Set<Value> getObjects(Graph graph, Resource subj, URI pred, Resource... contexts)
          Gets the objects of the statements with the specified subject, predicate and (optionally) contexts from the supplied graph.
static Value getOptionalObject(Graph graph, Resource subj, URI pred, Resource... contexts)
          Gets the object of the statement(s) with the specified subject and predicate from the specified contexts in the supplied graph.
static Literal getOptionalObjectLiteral(Graph graph, Resource subj, URI pred)
          Utility method that casts the return value of getOptionalObject(Graph, Resource, URI, Resource[]) to a Literal, or throws a GraphUtilException if that value is not a Literal.
static Resource getOptionalObjectResource(Graph graph, Resource subj, URI pred)
          Utility method that casts the return value of getOptionalObject(Graph, Resource, URI, Resource[]) to a Resource, or throws a GraphUtilException if that value is not a Resource.
static URI getOptionalObjectURI(Graph graph, Resource subj, URI pred)
          Utility method that casts the return value of getOptionalObject(Graph, Resource, URI, Resource[]) to a URI, or throws a GraphUtilException if that value is not a URI.
static Resource getOptionalSubject(Graph graph, URI pred, Value obj, Resource... contexts)
          Gets the subject of the statement(s) with the specified predicate and object from the specified contexts in the supplied graph.
static URI getOptionalSubjectURI(Graph graph, URI pred, Value obj, Resource... contexts)
          Utility method that casts the return value of getOptionalSubject(Graph, URI, Value, Resource[]) to a URI, or throws a GraphUtilException if that value is not a URI.
static Iterator<Resource> getSubjectIterator(Graph graph, URI pred, Value obj, Resource... contexts)
          Gets the subject of the statements with the specified predicate, object and (optionally) contexts from the supplied graph.
static Set<Resource> getSubjects(Graph graph, URI pred, Value obj, Resource... contexts)
          Gets the subject of the statements with the specified predicate, object and (optionally) contexts from the supplied graph.
static Value getUniqueObject(Graph graph, Resource subj, URI pred, Resource... contexts)
          Gets the object of the statement(s) with the specified subject and predicate from the specified contexts in the supplied graph.
static Literal getUniqueObjectLiteral(Graph graph, Resource subj, URI pred)
          Utility method that casts the return value of getUniqueObject(Graph, Resource, URI, Resource[]) to a Literal, or throws a GraphUtilException if that value is not a Literal.
static Resource getUniqueObjectResource(Graph graph, Resource subj, URI pred)
          Utility method that casts the return value of getUniqueObject(Graph, Resource, URI, Resource[]) to a Resource, or throws a GraphUtilException if that value is not a Resource.
static URI getUniqueObjectURI(Graph graph, Resource subj, URI pred)
          Utility method that casts the return value of getUniqueObject(Graph, Resource, URI, Resource[]) to a URI, or throws a GraphUtilException if that value is not a URI.
static Resource getUniqueSubject(Graph graph, URI pred, Value obj, Resource... contexts)
          Gets the subject of the statement(s) with the specified predicate and object from the specified contexts in the supplied graph.
static URI getUniqueSubjectURI(Graph graph, URI pred, Value obj, Resource... contexts)
          Utility method that casts the return value of getUniqueSubject(Graph, URI, Value, Resource[]) to a URI, or throws a GraphUtilException if that value is not a URI.
static void remove(Graph graph, Resource subj, URI pred, Value obj, Resource... contexts)
          Utility method that removes all statements matching the specified criteria from a graph.
static void setUniqueObject(Graph graph, Resource subj, URI pred, Value obj, Resource... contexts)
          Adds the specified statement and makes sure that no other statements are present in the Graph with the same subject and predicate.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GraphUtil

public GraphUtil()
Method Detail

getSubjectIterator

public static Iterator<Resource> getSubjectIterator(Graph graph,
                                                    URI pred,
                                                    Value obj,
                                                    Resource... contexts)
Gets the subject of the statements with the specified predicate, object and (optionally) contexts from the supplied graph. Calling this method is equivalent to calling graph.match(null, pred, obj, contexts) and extracting the subjects of the matching statements from the returned iterator. See Graph.match(Resource, URI, Value, Resource[]) for a description of the parameter values.


getSubjects

public static Set<Resource> getSubjects(Graph graph,
                                        URI pred,
                                        Value obj,
                                        Resource... contexts)
Gets the subject of the statements with the specified predicate, object and (optionally) contexts from the supplied graph. Calling this method is equivalent to calling graph.match(null, pred, obj, contexts) and adding the subjects of the matching statements to a set. See Graph.match(Resource, URI, Value, Resource[]) for a description of the parameter values.


getUniqueSubject

public static Resource getUniqueSubject(Graph graph,
                                        URI pred,
                                        Value obj,
                                        Resource... contexts)
                                 throws GraphUtilException
Gets the subject of the statement(s) with the specified predicate and object from the specified contexts in the supplied graph. The combination of predicate, object and contexts must match at least one statement. In case more than one statement matches -- for example statements from multiple contexts -- all these statements should have the same subject. A GraphUtilException is thrown if these conditions are not met. See Graph.match(Resource, URI, Value, Resource[]) for a description of the parameter values.

Returns:
The subject of the matched statement(s).
Throws:
GraphUtilException - If the statements matched by the specified parameters do not have exactly one unique subject.

getUniqueSubjectURI

public static URI getUniqueSubjectURI(Graph graph,
                                      URI pred,
                                      Value obj,
                                      Resource... contexts)
                               throws GraphUtilException
Utility method that casts the return value of getUniqueSubject(Graph, URI, Value, Resource[]) to a URI, or throws a GraphUtilException if that value is not a URI.

Returns:
The subject of the matched statement(s).
Throws:
GraphUtilException - If such an exception is thrown by getUniqueSubject(Graph, URI, Value, Resource[]) or if its return value is not a URI.

getOptionalSubject

public static Resource getOptionalSubject(Graph graph,
                                          URI pred,
                                          Value obj,
                                          Resource... contexts)
                                   throws GraphUtilException
Gets the subject of the statement(s) with the specified predicate and object from the specified contexts in the supplied graph. If the combination of predicate, object and contexts matches one or more statements, all these statements should have the same subject. A RepositoryConfigException is thrown if this is not the case. See Graph.match(Resource, URI, Value, Resource[]) for a description of the parameter values.

Returns:
The subject of the matched statement(s), or null if no matching statements were found.
Throws:
GraphUtilException - If the statements matched by the specified parameters have more than one unique subject.

getOptionalSubjectURI

public static URI getOptionalSubjectURI(Graph graph,
                                        URI pred,
                                        Value obj,
                                        Resource... contexts)
                                 throws GraphUtilException
Utility method that casts the return value of getOptionalSubject(Graph, URI, Value, Resource[]) to a URI, or throws a GraphUtilException if that value is not a URI.

Returns:
The subject of the matched statement(s), or null if no matching statements were found.
Throws:
GraphUtilException - If such an exception is thrown by getOptionalSubject(Graph, URI, Value, Resource[]) or if its return value is not a URI.

getObjectIterator

public static Iterator<Value> getObjectIterator(Graph graph,
                                                Resource subj,
                                                URI pred,
                                                Resource... contexts)
Gets the objects of the statements with the specified subject, predicate and (optionally) contexts from the supplied graph. Calling this method is equivalent to calling graph.match(subj, pred, null, contexts) and extracting the objects of the matching statements from the returned iterator. See Graph.match(Resource, URI, Value, Resource[]) for a description of the parameter values.


getObjects

public static Set<Value> getObjects(Graph graph,
                                    Resource subj,
                                    URI pred,
                                    Resource... contexts)
Gets the objects of the statements with the specified subject, predicate and (optionally) contexts from the supplied graph. Calling this method is equivalent to calling graph.match(subj, pred, null, contexts) and adding the objects of the matching statements to a set. See Graph.match(Resource, URI, Value, Resource[]) for a description of the parameter values.


getUniqueObject

public static Value getUniqueObject(Graph graph,
                                    Resource subj,
                                    URI pred,
                                    Resource... contexts)
                             throws GraphUtilException
Gets the object of the statement(s) with the specified subject and predicate from the specified contexts in the supplied graph. The combination of subject, predicate and contexts must match at least one statement. In case more than one statement matches -- for example statements from multiple contexts -- all these statements should have the same object. A GraphUtilException is thrown if these conditions are not met. See Graph.match(Resource, URI, Value, Resource[]) for a description of the parameter values.

Returns:
The object of the matched statement(s).
Throws:
GraphUtilException - If the statements matched by the specified parameters do not have exactly one unique object.

setUniqueObject

public static void setUniqueObject(Graph graph,
                                   Resource subj,
                                   URI pred,
                                   Value obj,
                                   Resource... contexts)
Adds the specified statement and makes sure that no other statements are present in the Graph with the same subject and predicate. When contexts are specified, the (subj, pred) pair will occur exactly once in each context, else the (subj, pred) pair will occur exactly once in the entire Graph.


getUniqueObjectResource

public static Resource getUniqueObjectResource(Graph graph,
                                               Resource subj,
                                               URI pred)
                                        throws GraphUtilException
Utility method that casts the return value of getUniqueObject(Graph, Resource, URI, Resource[]) to a Resource, or throws a GraphUtilException if that value is not a Resource.

Returns:
The object of the matched statement(s).
Throws:
GraphUtilException - If such an exception is thrown by getUniqueObject(Graph, Resource, URI, Resource[]) or if its return value is not a Resource.

getUniqueObjectURI

public static URI getUniqueObjectURI(Graph graph,
                                     Resource subj,
                                     URI pred)
                              throws GraphUtilException
Utility method that casts the return value of getUniqueObject(Graph, Resource, URI, Resource[]) to a URI, or throws a GraphUtilException if that value is not a URI.

Returns:
The object of the matched statement(s).
Throws:
GraphUtilException - If such an exception is thrown by getUniqueObject(Graph, Resource, URI, Resource[]) or if its return value is not a URI.

getUniqueObjectLiteral

public static Literal getUniqueObjectLiteral(Graph graph,
                                             Resource subj,
                                             URI pred)
                                      throws GraphUtilException
Utility method that casts the return value of getUniqueObject(Graph, Resource, URI, Resource[]) to a Literal, or throws a GraphUtilException if that value is not a Literal.

Returns:
The object of the matched statement(s).
Throws:
GraphUtilException - If such an exception is thrown by getUniqueObject(Graph, Resource, URI, Resource[]) or if its return value is not a Literal.

getOptionalObject

public static Value getOptionalObject(Graph graph,
                                      Resource subj,
                                      URI pred,
                                      Resource... contexts)
                               throws GraphUtilException
Gets the object of the statement(s) with the specified subject and predicate from the specified contexts in the supplied graph. If the combination of subject, predicate and contexts matches one or more statements, all these statements should have the same object. A RepositoryConfigException is thrown if this is not the case. See Graph.match(Resource, URI, Value, Resource[]) for a description of the parameter values.

Returns:
The object of the matched statement(s), or null if no matching statements were found.
Throws:
GraphUtilException - If the statements matched by the specified parameters have more than one unique object.

getOptionalObjectResource

public static Resource getOptionalObjectResource(Graph graph,
                                                 Resource subj,
                                                 URI pred)
                                          throws GraphUtilException
Utility method that casts the return value of getOptionalObject(Graph, Resource, URI, Resource[]) to a Resource, or throws a GraphUtilException if that value is not a Resource.

Returns:
The object of the matched statement(s), or null if no matching statements were found.
Throws:
GraphUtilException - If such an exception is thrown by getOptionalObject(Graph, Resource, URI, Resource[]) or if its return value is not a Resource.

getOptionalObjectURI

public static URI getOptionalObjectURI(Graph graph,
                                       Resource subj,
                                       URI pred)
                                throws GraphUtilException
Utility method that casts the return value of getOptionalObject(Graph, Resource, URI, Resource[]) to a URI, or throws a GraphUtilException if that value is not a URI.

Returns:
The object of the matched statement(s), or null if no matching statements were found.
Throws:
GraphUtilException - If such an exception is thrown by getOptionalObject(Graph, Resource, URI, Resource[]) or if its return value is not a URI.

getOptionalObjectLiteral

public static Literal getOptionalObjectLiteral(Graph graph,
                                               Resource subj,
                                               URI pred)
                                        throws GraphUtilException
Utility method that casts the return value of getOptionalObject(Graph, Resource, URI, Resource[]) to a Literal, or throws a GraphUtilException if that value is not a Literal.

Returns:
The object of the matched statement(s), or null if no matching statements were found.
Throws:
GraphUtilException - If such an exception is thrown by getOptionalObject(Graph, Resource, URI, Resource[]) or if its return value is not a Literal.

remove

public static void remove(Graph graph,
                          Resource subj,
                          URI pred,
                          Value obj,
                          Resource... contexts)
Utility method that removes all statements matching the specified criteria from a graph.

Parameters:
graph - The graph to remove the statements from.
subj - The subject of the statements to match, null to match statements with any subject.
pred - The predicate of the statements to match, null to match statements with any predicate.
obj - The object of the statements to match, null to match statements with any object.
contexts - The contexts of the statements to match. If no contexts are specified, statements will match disregarding their context. If one or more contexts are specified, statements with a context matching one of these will match.
Throws:
IllegalArgumentException - If a null-array is specified as the value for contexts. See OpenRDFUtil.verifyContextNotNull(Resource[]) for more info.


Copyright © 2001-2008 Aduna. All Rights Reserved.