Just out of curiosity:
why is there such a big difference in performance between the following 2
query variants (second one much slower than the first)
select * where {
?r a nfo:FileDataObject .
OPTIONAL { ?g <http://www.strigi.org/fields#indexGraphFor> ?r . } .
FILTER(!BOUND(?g)) .
}
select * where {
?r a nfo:FileDataObject .
?r nie:isPartOf ?f .
OPTIONAL { ?g <http://www.strigi.org/fields#indexGraphFor> ?r . } .
FILTER(!BOUND(?g)) .
}
The only difference is one more graph pattern.
This is Virtuoso 5.0.12 with
[Parameters]
LiteMode=1
ServerPort=1120
DisableTcpSocket=1
PrefixResultNames=0
ServerThreads=100
CheckpointInterval=10
NumberOfBuffers=10000
MaxDirtyBuffers=50
SchedulerInterval=5
FreeTextBatchSize=1000
Cheers,
Sebastian Trüg