Hello,

I am trying to optimize time performance as much as possible on my full text index queries. To query for classes in DBpedia that contains "person" in the label, I send the query

SELECT DISTINCT ?s ?o FROM <http://dbpedia.org> WHERE {{?s rdfs:label
 ?o.[] a ?s .FILTER( bif:contains(?o, "person" ) )}}LIMIT 15

or also (if I want to check dbprop:name):

SELECT DISTINCT ?s ?o FROM <http://dbpedia.org> WHERE {{?s rdfs:label ? o.[] a ?s .FILTER( bif:contains(?o, "person" ) ) } UNION { ?s dbpprop:name
 ?o.[] a ?s .FILTER( bif:contains(?o, "person" ) )}}LIMIT 10


Can I optimize this query in any way? Does it make any different if I put the bif:contains out of the FILTER, e.g:

SELECT DISTINCT ?s ?o FROM <http://dbpedia.org> WHERE {{?s rdfs:label
 ?o.[] a ?s. ?o bif:contains "person"}}LIMIT 15


I tried with some examples but the resultant times are very random (depending also If it is the first time or second time I sent the query), between 100 to 700 ms

Thanks a lot!

Vanessa :-)

--
The Open University is incorporated by Royal Charter (RC 000391), an exempt charity 
in England & Wales and a charity registered in Scotland (SC 038302).


Reply via email to