Hi,
ARQ's qparse command line is very useful.

However, I am a bit unsure and confused about the various forms on the --print
option.


qparse --print query  "SELECT DISTINCT ?g { GRAPH ?g { } }"
SELECT DISTINCT  ?g
WHERE
  { GRAPH ?g
      {  }
  }

Ok.


qparse --print op  "SELECT DISTINCT ?g { GRAPH ?g { } }"
(distinct
  (project (?g)
    (graph ?g
      (table unit))))

Ok.


qparse --print quad  "SELECT DISTINCT ?g { GRAPH ?g { } }"
(distinct
  (project (?g)
    (datasetnames ?g)))

It makes sort of sense, but what is this? Is it the algebra when GSPO, GPOS,
etc. indexes are used to answer the query?


qparse --print plan "SELECT DISTINCT ?g { GRAPH ?g { } }"
(Plan
  QueryIteratorCloseable/QueryIteratorCheck
    QueryIterRoot
    QueryIterGraph
    QueryIterProject ?g
    QueryIterDistinct
  )

This is the query plan for 'op' or 'quad'? This isn't clear to me.

Finally, there is another very useful option --explain, but in this case I am
not completely sure:

qparse --explain  "SELECT DISTINCT ?g { GRAPH ?g { } }"
SELECT DISTINCT  ?g
WHERE
  { GRAPH ?g
      {  }
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(distinct
  (project (?g)
    (graph ?g
      (table unit))))

Does this mean, no optimization is done for this query?

I had a look at the documentation, but did not find the answer... of course, the
answer is in the source code. :-)

I'll look at it tomorrow and see if I can clarify to myself the meaning of
'quad' (which is probably the source of all my doubts).

Paolo

Reply via email to