Hi all! This is more for the virtuoso folks but still cc-ing dbpedia. Please give us some input if you can answer these questions: I am trying text search in virtuos from isql against a locally loaded dbpedia.
*QUESTION ONE* Why does bif:contains return faster than REGEX search, and why are they returning a different number of counted rows? The search string is not the real string but it does not change the question. Which should we use? (1) searching with with regex SQL> sparql select count(*) where { ?s ?p ?o . FILTER regex(?o , "searchstring", "i")}; callret-0 INTEGER _____________________________________________________________________________ 4344 1 Rows. -- 3895755 msec. (2) searching with bif:contains SQL> sparql select count(*) where {?s ?p ?o. ?o bif:contains "searchstring"}; callret-0 INTEGER _______________________________________________________________________________ 20737 1 Rows. -- 208426 msec. *Question 2* Why can't I search a property or subject? SQL> sparql select count(*) where {?s ?p ?o. ?p bif:contains "searchstring"}; *** Error 37000: [Virtuoso Driver][Virtuoso Server]SQ074: Line 1: SP031: SPARQL compiler: The group does not contain triple pattern with '$p' object before bif:contains() predicate at line 1 of Top-Level: sparql select count(*) where {?s ?p ?o. ?p bif:contains "searchstring"} THANKS! Marv