Hi all,

I have trouble to understand how the free-text index works in Virtuoso, 
especially the minimal length of the indexed string.

Going on dbpediam the following query works

   SELECT COUNT ( DISTINCT ?entity ) as ?c WHERE {
           ?entity rdfs:label ?label .            
            ?label bif:contains "'u2' OR 'u2*'"
            
        } 

That one fails

   SELECT COUNT ( DISTINCT ?entity ) as ?c WHERE {
           ?entity rdfs:label ?label .            
            ?label bif:contains "'social d' OR 'social d*'"
            
        } 


With the following message
22023 Error FT370: Wildcard word needs at least 4 leading characters
First, that's strange as the previous one is only 2 chars.
Further, I'd have expected the widlcard to match "social d"* and not "social" + 
"d"*
Is there a way to do that ? (i.e. do the index on "xxx y"* and not y*

Finally , strangely enough, that one works as well (while the length = 3)

   SELECT ?entity WHERE {
           ?entity rdfs:label ?label .            
            ?label bif:contains "'xb6' OR 'xb6*'"
        } 


In addition to the previous question, is there a way to run query to find 
litterals < 4 chars ?
Is that possible to configure the index of my own virtuoso setup to make this 
possible ?

I know I can do with FILTER, but that's slower.

Thanks,

Alex.

Reply via email to