- All Implemented Interfaces:
TripleStore
- Direct Known Subclasses:
GraphTripleStoreMem
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Add a triple to this triple store.void
clear()
Clear this store, ie remove all triples from it.void
close()
Destroy this triple store - discard the indexes.boolean
Answer true iff this triple store contains the (concrete) triplet
.boolean
Answer true iff this triple store contains the triple matcht
.void
Remove a triple from this triple store.Answer an ExtendedIterator returning all the triples from this store that match the patternm = (S, P, O)
.boolean
isEmpty()
Answer true iff this triple store is empty.Answer an setwise iterator over all the objects of triples in this store.Answer an iterator over all the predicates of triples in this store.Answer an setwise iterator over all the subjects of triples in this store.int
size()
Answer the size (number of triples) of this triple store.Answer a Stream returning all the triples from this store that match the patternm = (S, P, O)
.
-
Method Details
-
close
public void close()Destroy this triple store - discard the indexes.- Specified by:
close
in interfaceTripleStore
-
add
Add a triple to this triple store.- Specified by:
add
in interfaceTripleStore
-
delete
Remove a triple from this triple store.- Specified by:
delete
in interfaceTripleStore
-
clear
public void clear()Clear this store, ie remove all triples from it.- Specified by:
clear
in interfaceTripleStore
-
size
public int size()Answer the size (number of triples) of this triple store.- Specified by:
size
in interfaceTripleStore
-
isEmpty
public boolean isEmpty()Answer true iff this triple store is empty.- Specified by:
isEmpty
in interfaceTripleStore
-
listSubjects
Description copied from interface:TripleStore
Answer an setwise iterator over all the subjects of triples in this store.- Specified by:
listSubjects
in interfaceTripleStore
-
listPredicates
Description copied from interface:TripleStore
Answer an iterator over all the predicates of triples in this store.- Specified by:
listPredicates
in interfaceTripleStore
-
listObjects
Description copied from interface:TripleStore
Answer an setwise iterator over all the objects of triples in this store.- Specified by:
listObjects
in interfaceTripleStore
-
contains
Answer true iff this triple store contains the (concrete) triplet
.- Specified by:
contains
in interfaceTripleStore
-
containsMatch
Description copied from interface:TripleStore
Answer true iff this triple store contains the triple matcht
.- Specified by:
containsMatch
in interfaceTripleStore
-
find
Answer an ExtendedIterator returning all the triples from this store that match the patternm = (S, P, O)
.Because the node-to-triples maps index on each of subject, predicate, and (non-literal) object, concrete S/P/O patterns can immediately select an appropriate map. Because the match for literals must be by sameValueAs, not equality, the optimisation is not applied for literals. [This is probably a Bad Thing for strings.]
Practice suggests doing the predicate test last, because there are "usually" many more statements than predicates, so the predicate doesn't cut down the search space very much. By "practice suggests" I mean that when the order went, accidentally, from S/O/P to S/P/O, performance on (ANY, P, O) searches on largish models with few predicates declined dramatically - specifically on the not-galen.owl ontology.
- Specified by:
find
in interfaceTripleStore
-
stream
Answer a Stream returning all the triples from this store that match the patternm = (S, P, O)
.Because the node-to-triples maps index on each of subject, predicate, and (non-literal) object, concrete S/P/O patterns can immediately select an appropriate map. Because the match for literals must be by sameValueAs, not equality, the optimisation is not applied for literals. [This is probably a Bad Thing for strings.]
Practice suggests doing the predicate test last, because there are "usually" many more statements than predicates, so the predicate doesn't cut down the search space very much. By "practice suggests" I mean that when the order went, accidentally, from S/O/P to S/P/O, performance on (ANY, P, O) searches on largish models with few predicates declined dramatically - specifically on the not-galen.owl ontology.
- Specified by:
stream
in interfaceTripleStore
-