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

Reply via email to