Virtuoso issue with wildcard searches under 4 characters

Issue #2 resolved
repo owner created an issue

Tried to search for "PDF" in resource window in top left corner.

SPARQL Error: iODBC Driver][Virtuoso Server]FT370: Wildcard word needs at least 4 leading characters () in query: SELECT * FROM WHERE { ?resourceUri ?p ?o FILTER (bif:contains(?o, \'"pdf*"\')) }


that page defines bif:contains which is a Boolean operator. Still don’t know why you need 4 characters.

07/12/2011 02:52 PM - Lisa Colvin

Based on Mark's recommendation, going to try running these queries directly in Virtuoso (log in at dev and run "conductor")

It may be a configuration within Virtuoso.

07/13/2011 10:20 AM - Mark Reyes

A bit of analysis. - Virtuoso has a requirement of a least 4 character when querying with a wildcard () - Ontowiki is taking the search request and appending a wildcard before handing off to Virtuoso e.g. pdf -----> pdf

Which would break the Virtuoso req.

Possible solutions - Allow shorter wildcard queries in Virtuoso - Modify Ontowiki to leave query as is (we'll use a wildcard explicitly when needed)

07/13/2011 11:26 AM - Lisa Colvin

Abhishek, can you take a look at the ontowiki code to see where they handle search requests and add on the wildcard? is it for every query? or just shorter queries?

i currently don't have the VM access (waiting on new password) so can't look at code. You can look at the code on the Linux box, if that's easier

Comments (9)

  1. udfr reporter
    • changed status to open

    hi, mark is going to make changes on DEV to

    leading > 3, and


    in the virtuoso source and recompile. it this works, we'll replicate on PROD.

    "if (leading < 4)" inwp_wildcard_range() function in libsrc/Wi/text.c with some smaller limit and recompile. Note, however, that there's maximum supported number of words that match to a wildcard, as "#define WST_WILDCARD_MAX 1000" in libsrc/Wi/text.h . It can be increased, if needed, maybe up to 1000, ....

  2. Log in to comment