Class SimpleSelector
- java.lang.Object
-
- org.apache.jena.rdf.model.SimpleSelector
-
- Direct Known Subclasses:
SelectorImpl
public class SimpleSelector extends java.lang.Object implements Selector
A general selector class for use when querying models.An instance of this class is passed with query calls to models. The model will use the
test
method of this class to decide whether a statement should be included in the selection.Instances of this class can be provided with subject, predicate and object constraints. If a subject, a predicate or an object are provided, the model implementation may restrict the statements that it tests to statements whose subject, predicate and object match those provided in the constructor. This can provide for considerably more efficient searching. However, the model implementation is not required to do this. If no subject, predicate or object are provided in the constructor, then all statements in the model must be tested.
This class is designed to be subclassed by the application, defining defining further selection criteria of its own by providing its own
selects
method.A direct instance of SimpleSelector returns
true
for the Selector::isSimple() predicate. Instances of subclasses of SimpleSelector returnfalse
, since the only reason to have such subclasses is to provide a non-trivialtest
predicate or S/P/O tests other than equality.The
test
method first verifies that a statement satisfies any subject, predicate or object constraints and the calls theselects
method to test for any application supplied constraint. The defaultselects
method simply returns true.
-
-
Constructor Summary
Constructors Constructor Description SimpleSelector()
Create a selector.SimpleSelector(Resource subject, Property predicate, boolean object)
Create a selector.SimpleSelector(Resource subject, Property predicate, char object)
Create a selector.SimpleSelector(Resource subject, Property predicate, double object)
Create a selector.SimpleSelector(Resource subject, Property predicate, float object)
Create a selector.SimpleSelector(Resource subject, Property predicate, long object)
Create a selector.SimpleSelector(Resource subject, Property predicate, java.lang.Object object)
Create a selector.SimpleSelector(Resource subject, Property predicate, java.lang.String object)
Create a selector.SimpleSelector(Resource subject, Property predicate, java.lang.String object, java.lang.String language)
Create a selector.SimpleSelector(Resource subject, Property predicate, RDFNode object)
Create a selector.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RDFNode
getObject()
Return the object constraint of this selector.Property
getPredicate()
Return the predicate constraint of this selector.Resource
getSubject()
Return the subject constraint of this selector.boolean
isSimple()
Answer true iff this Selector is completely characterised by its S/P/O triple.boolean
selects(Statement s)
This method is designed to be over ridden by subclasses to define application specific constraints on the statements selected.boolean
test(Statement s)
Test whether a statement should be included in a selection.
-
-
-
Constructor Detail
-
SimpleSelector
public SimpleSelector()
Create a selector. Since no subject, predicate or object constraints are specified a model will test all statements.
-
SimpleSelector
public SimpleSelector(Resource subject, Property predicate, RDFNode object)
Create a selector. A model may restrict statements that are tested using theselects
method to those whose subject matches the subject parameter, whose predicate matches the predicate parameter and whose object matches the object paramater. Any null parameter is considered to match anything.- Parameters:
subject
- if not null, the subject of selected statements must equal this argument.predicate
- if not null, the predicate of selected statements must equal this argument.object
- if not null, the object of selected statements must equal this argument.
-
SimpleSelector
public SimpleSelector(Resource subject, Property predicate, boolean object)
Create a selector. A model may restrict statements that are tested using theselects
method to those whose subject matches the subject parameter, whose predicate matches the predicate parameter and whose object matches the object paramater. Any null parameter is considered to match anything.- Parameters:
subject
- if not null, the subject of selected statements must equal this argument.predicate
- if not null, the predicate of selected statements must equal this argument.object
- if not null, the object of selected statements must equal this argument.
-
SimpleSelector
public SimpleSelector(Resource subject, Property predicate, long object)
Create a selector. A model may restrict statements that are tested using theselects
method to those whose subject matches the subject parameter, whose predicate matches the predicate parameter and whose object matches the object paramater. Any null parameter is considered to match anything.- Parameters:
subject
- if not null, the subject of selected statements must equal this argument.predicate
- if not null, the predicate of selected statements must equal this argument.object
- the object of selected statements must equal this argument.
-
SimpleSelector
public SimpleSelector(Resource subject, Property predicate, char object)
Create a selector. A model may restrict statements that are tested using theselects
method to those whose subject matches the subject parameter, whose predicate matches the predicate parameter and whose object matches the object paramater. Any null parameter is considered to match anything.- Parameters:
subject
- if not null, the subject of selected statements must equal this argument.predicate
- if not null, the predicate of selected statements must equal this argument.object
- the object of selected statements must equal this argument.
-
SimpleSelector
public SimpleSelector(Resource subject, Property predicate, float object)
Create a selector. A model may restrict statements that are tested using theselects
method to those whose subject matches the subject parameter, whose predicate matches the predicate parameter and whose object matches the object paramater. Any null parameter is considered to match anything.- Parameters:
subject
- if not null, the subject of selected statements must equal this argument.predicate
- if not null, the predicate of selected statements must equal this argument.object
- the object of selected statements must equal this argument.
-
SimpleSelector
public SimpleSelector(Resource subject, Property predicate, double object)
Create a selector. A model may restrict statements that are tested using theselects
method to those whose subject matches the subject parameter, whose predicate matches the predicate parameter and whose object matches the object paramater. Any null parameter is considered to match anything.- Parameters:
subject
- if not null, the subject of selected statements must equal this argument.predicate
- if not null, the predicate of selected statements must equal this argument.object
- the object of selected statements must equal this argument.
-
SimpleSelector
public SimpleSelector(Resource subject, Property predicate, java.lang.String object)
Create a selector. A model may restrict statements that are tested using theselects
method to those whose subject matches the subject parameter, whose predicate matches the predicate parameter and whose object matches the object paramater. Any null parameter is considered to match anything.- Parameters:
subject
- if not null, the subject of selected statements must equal this argument.predicate
- if not null, the predicate of selected statements must equal this argument.object
- the object of selected statements must equal this argument - a null string matches the empty string
-
SimpleSelector
public SimpleSelector(Resource subject, Property predicate, java.lang.String object, java.lang.String language)
Create a selector. A model may restrict statements that are tested using theselects
method to those whose subject matches the subject parameter, whose predicate matches the predicate parameter and whose object matches the object paramater. Any null parameter is considered to match anything.- Parameters:
subject
- if not null, the subject of selected statements must equal this argument.predicate
- if not null, the predicate of selected statements must equal this argument.object
- the object of selected statements must equal this argument - the null string matches the empty stringlanguage
- the language of the object constraint
-
SimpleSelector
public SimpleSelector(Resource subject, Property predicate, java.lang.Object object)
Create a selector. A model may restrict statements that are tested using theselects
method to those whose subject matches the subject parameter, whose predicate matches the predicate parameter and whose object matches the object paramater. Any null parameter is considered to match anything.- Parameters:
subject
- if not null, the subject of selected statements must equal this argument.predicate
- if not null, the predicate of selected statements must equal this argument.object
- if not null, the object of selected statements must equal this argument.
-
-
Method Detail
-
getSubject
public Resource getSubject()
Return the subject constraint of this selector.- Specified by:
getSubject
in interfaceSelector
- Returns:
- the subject constraint
-
getPredicate
public Property getPredicate()
Return the predicate constraint of this selector.- Specified by:
getPredicate
in interfaceSelector
- Returns:
- the predicate constraint
-
getObject
public RDFNode getObject()
Return the object constraint of this selector.
-
isSimple
public boolean isSimple()
Answer true iff this Selector is completely characterised by its S/P/O triple. Subclasses will by default return false, so this method need not be over-ridden (the only reason for subclassing SimpleSelector is to make a test not dependent only on the S/P/O identity).
-
test
public boolean test(Statement s)
Test whether a statement should be included in a selection. This method tests whether the supplied statement satisfies the subject, predicate and object constraints of the selector and then tests whether it matches the application providedselects
method.- Specified by:
test
in interfacejava.util.function.Predicate<Statement>
- Parameters:
s
- the statement to be tested- Returns:
- true if the statement satisfies the subject, object and predicate constraints and the selects constraint.
-
selects
public boolean selects(Statement s)
This method is designed to be over ridden by subclasses to define application specific constraints on the statements selected.- Parameters:
s
- the statement to be tested- Returns:
- true if the statement satisfies the constraint
-
-