[ 
https://issues.apache.org/jira/browse/JENA-2228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466643#comment-17466643
 ] 

Andy Seaborne edited comment on JENA-2228 at 12/30/21, 9:14 AM:
----------------------------------------------------------------

The execution is on quads for a query directly to TDB.
{noformat}
OpExecutorTDB2.execute(OpQuadPattern, ...)
{noformat}
I suggest you walk through a query
{noformat}
SELECT * {
    ?x :p ?o .
    ?o :q ?z .
{noformat}
with data
{noformat}
    :x :p :o .
    :o :q :z .
{noformat}
which does not involve RDF-star. (that uses a different approach to avoid 
needing database format on-disk changes).

Don't forget that ARQ is a streaming engine - work is done only when the 
results are consumed walking the iterator for a ResultSet.

The base level access is in {{{}StageMatchTuple{}}}.
Access to the node tuple table is:
{noformat}
Iterator<Tuple<NodeId>> iterMatches = 
nodeTupleTable.find(TupleFactory.create(ids));
{noformat}


was (Author: andy.seaborne):
The execution is on quads for a query directly to TDB.

{noformat}
OpExecutorTDB2.execute(OpQuadPattern, ...)
{noformat}

I suggest you walk though a query 

{noformat}
SELECT * {
    ?x :p ?o .
    ?o :q ?z .
{noformat}
with data
{noformat}
    :x :p :o .
    :o :q :z .
{noformat}
which does not involve RDF-star. (that uses a different approach to avoid 
needing datbase format on-disk changes).

The base level access is in {{StageMatchTuple}}.
Access to the node tuple table is:
{noformat}
Iterator<Tuple<NodeId>> iterMatches = 
nodeTupleTable.find(TupleFactory.create(ids));
{noformat}

> Does Fuseki2 use TDB indexes or indexes for in-memory store?
> ------------------------------------------------------------
>
>                 Key: JENA-2228
>                 URL: https://issues.apache.org/jira/browse/JENA-2228
>             Project: Apache Jena
>          Issue Type: Question
>          Components: Fuseki, TDB
>    Affects Versions: Jena 3.17.0
>         Environment: I am running the jena-fuseki-server-3.17.0.jar file from 
> jena-fuseki2/jena-fuseki-server/target/ as follows
> {code:java}
> java -Xmx500g -jar fuseki-jenaclone.jar --tdb2 --loc=db/jena 
> --timeout=1000000 /jena &{code}
>            Reporter: Martin Pekár
>            Priority: Major
>
> Based on logging messages inserted into various places in the indexes in the 
> TDB module (NodeTupleTableConcrete, TupleIndexBase, NodeTableNative, 
> BPlusTree), I can see that the B+ tree is only used once per query. I have 
> inserted logging messages for every finding method to see which classes are 
> used when querying. I would expect to the the B+ tree be used several times 
> per query.
>  
> I use the error logging level, and I inserted logging in the class 
> constructors to make sure logging worked. I see construction of all the index 
> classes.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to