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


      

Reply via email to