Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Which RDF triplestores support full-text search and what performance can be expected from them.

I am assuming that they will have to extend SPARQL in some way as the only way that I can think of for performing full text search currently is to perform a regular expression filter against all literals returned by the SELECT.

share|improve this question
Which RDBMS are you working with? – Mike Fal Mar 1 '13 at 23:40
@MikeFal Not an RDBMS, an RDF triplestore. Things like Jena, Virtuoso, etc. – irl Mar 2 '13 at 1:51

You could do the Regex in SPARQL as you suggested, performance implications will vary on the subset of items at the moment it is fired.

An example from a SPARQL query using that approach ("Look for all teams in the second league of the bundesliga"):

SELECT distinct ?team ?label
    ?team dbp-ont:league ?league .
    ?league rdfs:label ?league_label .
    ?team rdfs:label ?label .

    FILTER regex(str(?league_label), "bundesliga","i") . 
    FILTER regex(str(?league_label), "2","i") . 
    FILTER(lang(?label) = "en") . 

See the results for this query in FactForge

But for high performance in larger sets of unfiltered data I do not think this is what you're looking for. For enterprise free text search take a look at Jena and at this related question: Do you use full-text search with SPARQL? If so how and why?.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.