|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.bigdata.rdf.inf.BackchainOwlSameAsPropertiesIterator
public class BackchainOwlSameAsPropertiesIterator
Provides backward chaining for property collection and reverse property collection on owl:sameAs for all access paths.
Note:
BackchainOwlSameAsPropertiesSPOIterator,
BackchainOwlSameAsPropertiesSPIterator,
BackchainOwlSameAsPropertiesPOIterator,
BackchainOwlSameAsPropertiesPIterator,
InferenceEngine,
InferenceEngine.Options| Field Summary | |
|---|---|
protected static long |
NULL
|
| Fields inherited from interface com.bigdata.striterator.IChunkedIterator |
|---|
DEFAULT_CHUNK_SIZE |
| Constructor Summary | |
|---|---|
BackchainOwlSameAsPropertiesIterator(IChunkedOrderedIterator<ISPO> src,
long s,
long p,
long o,
AbstractTripleStore db,
long sameAs)
Create an iterator that will visit all statements in the source iterator and also backchain any entailments that would have resulted from owl:sameAs {2,3}. |
|
| Method Summary | |
|---|---|
void |
close()
Closes the iterator, releasing any associated resources. |
protected void |
finalize()
|
IKeyOrder<ISPO> |
getKeyOrder()
The natural order in which elements are being visited. |
boolean |
hasNext()
|
ISPO |
next()
The next element available from the iterator. |
ISPO[] |
nextChunk()
Return the next "chunk" from the iterator. |
ISPO[] |
nextChunk(IKeyOrder<ISPO> keyOrder)
Return the next "chunk" of elements. |
void |
remove()
Removes the last element visited by IChunkedIterator.next() (optional operation). |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final transient long NULL
| Constructor Detail |
|---|
public BackchainOwlSameAsPropertiesIterator(IChunkedOrderedIterator<ISPO> src,
long s,
long p,
long o,
AbstractTripleStore db,
long sameAs)
src - The source iterator. nextChunk() will sort statements
into the IKeyOrder reported by this iterator (as long
as the IKeyOrder is non-null).s - The subject of the triple pattern.p - The predicate of the triple pattern.o - The object of the triple pattern.db - The database from which we will read the distinct subject
identifiers (iff this is an all unbound triple pattern).sameAs - The term identifier that corresponds to owl:sameAs for the
database.| Method Detail |
|---|
protected void finalize()
throws Throwable
finalize in class ObjectThrowablepublic IKeyOrder<ISPO> getKeyOrder()
IChunkedOrderedIterator
getKeyOrder in interface IChunkedOrderedIterator<ISPO>null if not known.public boolean hasNext()
hasNext in interface Iterator<ISPO>public ISPO next()
IChunkedIterator
next in interface IChunkedIterator<ISPO>next in interface Iterator<ISPO>public ISPO[] nextChunk()
IChunkedIterator
nextChunk in interface IChunkedIterator<ISPO>public ISPO[] nextChunk(IKeyOrder<ISPO> keyOrder)
IChunkedOrderedIteratorIChunkedOrderedIterator.getKeyOrder() would return non-null
and the request order corresponds to the value that would be returned by
IChunkedOrderedIterator.getKeyOrder() then the elements in the next chunk are NOT
sorted. Otherwise the elements in the next chunk are sorted before they
are returned. The size of the chunk is up to the implementation.
nextChunk in interface IChunkedOrderedIterator<ISPO>keyOrder - The natural order for the elements in the chunk.
public void close()
ICloseableIterator
Note: Implementations that support Iterator.remove() MUST NOT
eagerly close the iterator when it is exhausted since that would make it
impossible to remove the last visited statement. Instead they MUST wait
for an explicit ICloseableIterator.close() by the application.
close in interface ICloseableIterator<ISPO>public void remove()
IChunkedIteratorIChunkedIterator.next() (optional operation).
Note: This method is not readily suited for use with IChunkedIterator.nextChunk()
since the latter has already visited everything in the chunk and
IChunkedIterator.remove() would only remove the last item in the chunk. Normally
you will want to accumulate items to be removed in a buffer and then
submit the buffer to some batch api operation when it overflows.
Alternatively, the IRangeQuery.REMOVEALL flag may be used with
the source iterator to remove elements from the index as they are
visited.
remove in interface IChunkedIterator<ISPO>remove in interface Iterator<ISPO>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||