org.openrdf.model
Interface Model

All Superinterfaces:
Collection<Statement>, Iterable<Statement>, Serializable, Set<Statement>
All Known Implementing Classes:
LinkedHashModel

public interface Model
extends Set<Statement>, Serializable

An RDF model, represented as a set of Statements with predictable iteration order.

Author:
James Leigh

Method Summary
 boolean add(Resource subj, URI pred, Value obj, Resource... contexts)
          Adds one or more statements to the model.
 boolean clear(Resource... context)
          Removes statements with the specified context exist in this model.
 boolean contains(Resource subj, URI pred, Value obj, Resource... contexts)
          Determines if statements with the specified subject, predicate, object and (optionally) context exist in this model.
 Set<Resource> contexts()
          Returns a Set view of the contexts contained in this model.
 Model filter(Resource subj, URI pred, Value obj, Resource... contexts)
          Returns a view of the statements with the specified subject, predicate, object and (optionally) context.
 String getNamespace(String prefix)
          Gets the namespace that is associated with the specified prefix, if any.
 Map<String,String> getNamespaces()
          Gets the map that contains the assigned namespaces.
 Literal objectLiteral()
          Utility method that casts the return value of objectValue() to a Literal, or throws a ModelUtilException if that value is not a Literal.
 Resource objectResource()
          Utility method that casts the return value of objectValue() to a Resource, or throws a ModelUtilException if that value is not a Resource.
 Set<Value> objects()
          Returns a Set view of the objects contained in this model.
 String objectString()
          Utility method that returns the string value of objectValue().
 URI objectURI()
          Utility method that casts the return value of objectValue() to a URI, or throws a ModelUtilException if that value is not a URI.
 Value objectValue()
          Gets the object of the statement(s).
 Set<URI> predicates()
          Returns a Set view of the predicates contained in this model.
 boolean remove(Resource subj, URI pred, Value obj, Resource... contexts)
          Removes statements with the specified subject, predicate, object and (optionally) context exist in this model.
 void removeNamespace(String prefix)
          Removes a namespace declaration by removing the association between a prefix and a namespace name.
 String setNamespace(String prefix, String name)
          Sets the prefix for a namespace.
 Set<Resource> subjects()
          Returns a Set view of the subjects contained in this model.
 
Methods inherited from interface java.util.Set
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
 

Method Detail

getNamespaces

Map<String,String> getNamespaces()
Gets the map that contains the assigned namespaces.

Returns:
Map of prefix to namespace

getNamespace

String getNamespace(String prefix)
Gets the namespace that is associated with the specified prefix, if any.

Parameters:
prefix - A namespace prefix.
Returns:
The namespace name that is associated with the specified prefix, or null if there is no such namespace.

setNamespace

String setNamespace(String prefix,
                    String name)
Sets the prefix for a namespace.

Parameters:
prefix - The new prefix.
name - The namespace name that the prefix maps to.

removeNamespace

void removeNamespace(String prefix)
Removes a namespace declaration by removing the association between a prefix and a namespace name.

Parameters:
prefix - The namespace prefix of which the assocation with a namespace name is to be removed.

contains

boolean contains(Resource subj,
                 URI pred,
                 Value obj,
                 Resource... contexts)
Determines if statements with the specified subject, predicate, object and (optionally) context exist in this model. The subject, predicate and object parameters can be null to indicate wildcards. The contexts parameter is a wildcard and accepts zero or more values. 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. Note: to match statements without an associated context, specify the value null and explicitly cast it to type Resource.

Examples: model.contains(s1, null, null) is true if any statements in this model have subject s1,
model.contains(null, null, null, c1) is true if any statements in this model have context c1,
model.contains(null, null, null, (Resource)null) is true if any statements in this model have no associated context,
model.contains(null, null, null, c1, c2, c3) is true if any statements in this model have context c1, c2 or c3.

Parameters:
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.
Returns:
true if statements match the specified pattern.

add

boolean add(Resource subj,
            URI pred,
            Value obj,
            Resource... contexts)
Adds one or more statements to the model. This method creates a statement for each specified context and adds those to the model. If no contexts are specified, a single statement with no associated context is added. If this Model is a filtered Model then null (if context empty) values are permitted and will used the corresponding filtered values.

Parameters:
subj - The statement's subject.
pred - The statement's predicate.
obj - The statement's object.
contexts - The contexts to add statements to.
Throws:
IllegalArgumentException - If This Model cannot store the given statement, because it is filtered out of this view.
UnsupportedOperationException - If this Model cannot accept any statements, because it is filter to the empty set.

clear

boolean clear(Resource... context)
Removes statements with the specified context exist in this model.

Parameters:
context - The context of the statements to remove.
Returns:
true if one or more statements have been removed.

remove

boolean remove(Resource subj,
               URI pred,
               Value obj,
               Resource... contexts)
Removes statements with the specified subject, predicate, object and (optionally) context exist in this model. The subject, predicate and object parameters can be null to indicate wildcards. The contexts parameter is a wildcard and accepts zero or more values. If no contexts are specified, statements will be removed disregarding their context. If one or more contexts are specified, statements with a context matching one of these will be removed. Note: to remove statements without an associated context, specify the value null and explicitly cast it to type Resource.

Examples: model.remove(s1, null, null) removes any statements in this model have subject s1,
model.remove(null, null, null, c1) removes any statements in this model have context c1,
model.remove(null, null, null, (Resource)null) removes any statements in this model have no associated context,
model.remove(null, null, null, c1, c2, c3) removes any statements in this model have context c1, c2 or c3.

Parameters:
subj - The subject of the statements to remove, null to remove statements with any subject.
pred - The predicate of the statements to remove, null to remove statements with any predicate.
obj - The object of the statements to remove, null to remove statements with any object.
contexts - The contexts of the statements to remove. If no contexts are specified, statements will be removed disregarding their context. If one or more contexts are specified, statements with a context matching one of these will be removed.
Returns:
true if one or more statements have been removed.

filter

Model filter(Resource subj,
             URI pred,
             Value obj,
             Resource... contexts)
Returns a view of the statements with the specified subject, predicate, object and (optionally) context. The subject, predicate and object parameters can be null to indicate wildcards. The contexts parameter is a wildcard and accepts zero or more values. 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. Note: to match statements without an associated context, specify the value null and explicitly cast it to type Resource.

The returned model is backed by this Model, so changes to this Model are reflected in the returned model, and vice-versa. If this Model is modified while an iteration over the returned model is in progress (except through the iterator's own remove operation), the results of the iteration are undefined. The model supports element removal, which removes the corresponding statement from this Model, via the Iterator.remove, Set.remove, removeAll, retainAll, and clear operations. The statements passed to the add and addAll operations must match the parameter pattern.

Examples: model.filter(s1, null, null) matches all statements that have subject s1,
model.filter(null, null, null, c1) matches all statements that have context c1,
model.filter(null, null, null, (Resource)null) matches all statements that have no associated context,
model.filter(null, null, null, c1, c2, c3) matches all statements that have context c1, c2 or c3.

Parameters:
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.
Returns:
The statements that match the specified pattern.

subjects

Set<Resource> subjects()
Returns a Set view of the subjects contained in this model. The set is backed by the model, so changes to the model are reflected in the set, and vice-versa. If the model is modified while an iteration over the set is in progress (except through the iterator's own remove operation), the results of the iteration are undefined. The set supports element removal, which removes the corresponding statement from the model, via the Iterator.remove, Set.remove, removeAll, retainAll, and clear operations. It does not support the add or addAll operations if the parameters pred or obj are null.

Returns:
a set view of the subjects contained in this model

predicates

Set<URI> predicates()
Returns a Set view of the predicates contained in this model. The set is backed by the model, so changes to the model are reflected in the set, and vice-versa. If the model is modified while an iteration over the set is in progress (except through the iterator's own remove operation), the results of the iteration are undefined. The set supports element removal, which removes the corresponding statement from the model, via the Iterator.remove, Set.remove, removeAll, retainAll, and clear operations. It does not support the add or addAll operations if the parameters subj or obj are null.

Returns:
a set view of the predicates contained in this model

objects

Set<Value> objects()
Returns a Set view of the objects contained in this model. The set is backed by the model, so changes to the model are reflected in the set, and vice-versa. If the model is modified while an iteration over the set is in progress (except through the iterator's own remove operation), the results of the iteration are undefined. The set supports element removal, which removes the corresponding statement from the model, via the Iterator.remove, Set.remove, removeAll, retainAll, and clear operations. It does not support the add or addAll operations if the parameters subj or pred are null.

Returns:
a set view of the objects contained in this model

contexts

Set<Resource> contexts()
Returns a Set view of the contexts contained in this model. The set is backed by the model, so changes to the model are reflected in the set, and vice-versa. If the model is modified while an iteration over the set is in progress (except through the iterator's own remove operation), the results of the iteration are undefined. The set supports element removal, which removes the corresponding statement from the model, via the Iterator.remove, Set.remove, removeAll, retainAll, and clear operations. It does not support the add or addAll operations if the parameters subj , pred or obj are null.

Returns:
a set view of the contexts contained in this model

objectValue

Value objectValue()
                  throws ModelException
Gets the object of the statement(s). If contains one or more statements, all these statements should have the same object. A ModelException is thrown if this is not the case.

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

objectLiteral

Literal objectLiteral()
                      throws ModelException
Utility method that casts the return value of objectValue() to a Literal, or throws a ModelUtilException if that value is not a Literal.

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

objectResource

Resource objectResource()
                        throws ModelException
Utility method that casts the return value of objectValue() to a Resource, or throws a ModelUtilException if that value is not a Resource.

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

objectURI

URI objectURI()
              throws ModelException
Utility method that casts the return value of objectValue() to a URI, or throws a ModelUtilException if that value is not a URI.

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

objectString

String objectString()
                    throws ModelException
Utility method that returns the string value of objectValue().

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


Copyright © 2004-2009 James Leigh Services Inc.. All Rights Reserved.