public interface Model extends Graph, Set<Statement>, Serializable
Set
of Statement
s
with predictable iteration order. Model is a feature-rich extension of the
basic Graph
interface.Modifier and Type | Method and Description |
---|---|
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.
|
Namespace |
getNamespace(String prefix)
Gets the namespace that is associated with the specified prefix, if any.
|
Set<Namespace> |
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.
|
Namespace |
removeNamespace(String prefix)
Removes a namespace declaration by removing the association between a
prefix and a namespace name.
|
void |
setNamespace(Namespace namespace)
Sets the prefix for a namespace.
|
Namespace |
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. |
Model |
unmodifiable()
Returns an unmodifiable view of this model.
|
getValueFactory, match
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, spliterator, toArray, toArray
parallelStream, removeIf, stream
Model unmodifiable()
Set<Namespace> getNamespaces()
Namespace getNamespace(String prefix)
prefix
- A namespace prefix.Namespace setNamespace(String prefix, String name)
prefix
- The new prefix.name
- The namespace name that the prefix maps to.Namespace
object for the given namespace.void setNamespace(Namespace namespace)
namespace
- A Namespace
object to use in this Model.Namespace removeNamespace(String prefix)
prefix
- The namespace prefix of which the assocation with a namespace name
is to be removed.boolean contains(Resource subj, URI pred, Value obj, Resource... contexts)
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.
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.true
if statements match the specified pattern.boolean add(Resource subj, URI pred, Value obj, Resource... contexts)
add
in interface Graph
subj
- The statement's subject.pred
- The statement's predicate.obj
- The statement's object.contexts
- The contexts to add statements to.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 filtered
to the empty set.boolean clear(Resource... context)
context
- The context of the statements to remove.true
if one or more statements have been removed.boolean remove(Resource subj, URI pred, Value obj, Resource... contexts)
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.
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.true
if one or more statements have been removed.Model filter(Resource subj, URI pred, Value obj, Resource... contexts)
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.
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.Set<Resource> subjects()
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.Set<URI> predicates()
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.Set<Value> objects()
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.Set<Resource> contexts()
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.Value objectValue() throws ModelException
ModelException
is thrown if this is not the case.ModelException
- If the statements matched by the specified parameters have more
than one unique object.Literal objectLiteral() throws ModelException
objectValue()
to a
Literal, or throws a ModelUtilException if that value is not a Literal.ModelException
- If such an exception is thrown by objectValue()
or if its
return value is not a Literal.Resource objectResource() throws ModelException
objectValue()
to a
Resource, or throws a ModelUtilException if that value is not a Resource.ModelException
- If such an exception is thrown by objectValue()
or if its
return value is not a Resource.URI objectURI() throws ModelException
objectValue()
to a
URI, or throws a ModelUtilException if that value is not a URI.ModelException
- If such an exception is thrown by objectValue()
or if its
return value is not a URI.String objectString() throws ModelException
objectValue()
.ModelException
- If the statements matched by the specified parameters have more
than one unique object.Copyright © 2001-2016 Aduna. All Rights Reserved.