Interface Model
- All Superinterfaces:
Collection<Statement>,Iterable<Statement>,NamespaceAware,Serializable,Set<Statement>
- All Known Implementing Classes:
AbstractMemoryOverflowModel,AbstractModel,DynamicModel,EmptyModel,FilteredModel,LinkedHashModel,SailModel,TreeModel
Set of Statements with predictable iteration order.
Additional utility functionality for working with Model objects is available in the
org.eclipse.rdf4j.model.util.Models utility class.
- Author:
- James Leigh, Jeen Broekstra
-
Method Summary
Modifier and TypeMethodDescriptionbooleanAdds one or more statements to the model.booleanRemoves statements with the specified context exist in this model.booleanDetermines if statements with the specified subject, predicate, object and (optionally) context exist in this model.contexts()Returns aSetview of the contexts contained in this model.Returns a filtered view of the statements with the specified subject, predicate, object and (optionally) context.getStatements(Resource subject, IRI predicate, Value object, Resource... contexts) objects()Returns aSetview of the objects contained in this model.Returns aSetview of the predicates contained in this model.booleanRemoves statements with the specified subject, predicate, object and (optionally) context exist in this model.removeNamespace(String prefix) Removes a namespace declaration by removing the association between a prefix and a namespace name.default NamespacesetNamespace(String prefix, String name) Sets the prefix for a namespace.voidsetNamespace(Namespace namespace) Sets the prefix for a namespace.subjects()Returns aSetview of the subjects contained in this model.Returns an unmodifiable view of this model.Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface org.eclipse.rdf4j.model.NamespaceAware
getNamespace, getNamespaces
-
Method Details
-
unmodifiable
Model unmodifiable()Returns an unmodifiable view of this model. This method provides "read-only" access to this model. Query operations on the returned model "read through" to this model, and attempts to modify the returned model, whether direct or via its iterator, result in anUnsupportedOperationException.- Returns:
- an unmodifiable view of the specified set.
-
setNamespace
Sets the prefix for a namespace. This will replace any existing namespace associated to the prefix.- Parameters:
prefix- The new prefix.name- The namespace name that the prefix maps to.- Returns:
- The
Namespaceobject for the given namespace.
-
setNamespace
Sets the prefix for a namespace. This will replace any existing namespace associated to the prefix.- Parameters:
namespace- ANamespaceobject to use in this Model.
-
removeNamespace
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.- Returns:
- the previous namespace bound to the prefix or
Optional.empty()
-
contains
Determines if statements with the specified subject, predicate, object and (optionally) context exist in this model. Thesubject,predicateandobjectparameters can benullto indicate wildcards. Thecontextsparameter 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 valuenulland explicitly cast it to typeResource.Examples:
model.contains(s1, null, null)is true if any statements in this model have subjects1,
model.contains(null, null, null, c1)is true if any statements in this model have contextc1,
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 contextc1,c2orc3.- Parameters:
subj- The subject of the statements to match,nullto match statements with any subject.pred- The predicate of the statements to match,nullto match statements with any predicate.obj- The object of the statements to match,nullto 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:
trueif statements match the specified pattern.
-
add
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 use 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 filtered to the empty set.
-
clear
Removes statements with the specified context exist in this model.- Parameters:
context- The context of the statements to remove.- Returns:
trueif one or more statements have been removed.
-
remove
Removes statements with the specified subject, predicate, object and (optionally) context exist in this model. Thesubject,predicateandobjectparameters can benullto indicate wildcards. Thecontextsparameter 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 valuenulland explicitly cast it to typeResource.Examples:
model.remove(s1, null, null)removes any statements in this model have subjects1,
model.remove(null, null, null, c1)removes any statements in this model have contextc1,
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 contextc1,c2orc3.- Parameters:
subj- The subject of the statements to remove,nullto remove statements with any subject.pred- The predicate of the statements to remove,nullto remove statements with any predicate.obj- The object of the statements to remove,nullto 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:
trueif one or more statements have been removed.
-
getStatements
default Iterable<Statement> getStatements(Resource subject, IRI predicate, Value object, Resource... contexts) Returns anIterableover allStatements in this Model that match the supplied criteria.Examples:
model.getStatements(s1, null, null)matches all statements that have subjects1model.getStatements(s1, p1, null)matches all statements that have subjects1and predicatep1model.getStatements(null, null, null, c1)matches all statements that have contextc1model.getStatements(null, null, null, (Resource)null)matches all statements that have no associated contextmodel.getStatements(null, null, null, c1, c2, c3)matches all statements that have contextc1,c2orc3
- Parameters:
subject- The subject of the statements to match,nullto match statements with any subject.predicate- The predicate of the statements to match,nullto match statements with any predicate.object- The object of the statements to match,nullto 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 any one of these will match. To match statements without an associated context, specify the valuenulland explicitly cast it to typeResource.- Returns:
- an
Iterableover the statements in this Model that match the specified pattern. - Since:
- 3.2.0
- See Also:
-
filter
Returns a filtered view of the statements with the specified subject, predicate, object and (optionally) context. Thesubject,predicateandobjectparameters can benullto indicate wildcards. Thecontextsparameter 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 valuenulland explicitly cast it to typeResource.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
removeoperation), the results of the iteration are undefined. The model supports element removal, which removes the corresponding statement from this Model, via theIterator.remove,Set.remove,removeAll,retainAll, andclearoperations. The statements passed to theaddandaddAlloperations must match the parameter pattern.Examples:
model.filter(s1, null, null)matches all statements that have subjects1,
model.filter(null, null, null, c1)matches all statements that have contextc1,
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 contextc1,c2orc3.- Parameters:
subj- The subject of the statements to match,nullto match statements with any subject.pred- The predicate of the statements to match,nullto match statements with any predicate.obj- The object of the statements to match,nullto 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.
- See Also:
-
subjects
Returns aSetview 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 ownremoveoperation), the results of the iteration are undefined. The set supports element removal, which removes all statements from the model for which that element is a subject value, via theIterator.remove,Set.remove,removeAll,retainAll, andclearoperations. It does not support theaddoraddAlloperations if the parameterspredorobjare null.- Returns:
- a set view of the subjects contained in this model
-
predicates
Returns aSetview 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 ownremoveoperation), the results of the iteration are undefined. The set supports element removal, which removes all statements from the model for which that element is a predicate value, via theIterator.remove,Set.remove,removeAll,retainAll, andclearoperations. It does not support theaddoraddAlloperations if the parameterssubjorobjare null.- Returns:
- a set view of the predicates contained in this model
-
objects
Returns aSetview 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 ownremoveoperation), the results of the iteration are undefined. The set supports element removal, which removes all statements from the model for which that element is an object value, via theIterator.remove,Set.remove,removeAll,retainAll, andclearoperations. It does not support theaddoraddAlloperations if the parameterssubjorpredare null.- Returns:
- a set view of the objects contained in this model
-
contexts
Returns aSetview 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 ownremoveoperation), the results of the iteration are undefined. The set supports element removal, which removes all statements from the model for which that element is a context value, via theIterator.remove,Set.remove,removeAll,retainAll, andclearoperations. It does not support theaddoraddAlloperations if the parameterssubj,predorobjare null.- Returns:
- a set view of the contexts contained in this model
-