> Hi Laura!
> 
> The string functions are standard SPARQL features and don't rely on a
> text index.
> 
> The text index is only useful if you need either full text search or
> other efficient non-exact types of text matching such as prefix searches.
> 
> You can always use FILTERs and string functions, but they can be slow
> when you have large amounts of data as they need to be evaluated for
> every string in the data.
> 
> -Osma


Thank you for the answer. So let's say I want to search nodes in my graph by 
rdfs:label. Is this correct...

1) STRSTART(): fast by default because predicates are sorted. Only does exact 
search.
2) STRSTART(LCASE(?label)): fast because predicates are sorted, but just a 
little bit slower than 1) because if muse LCASE() some strings
3) REGEX(): slow because it must go through all rdfs:labels (use jena-text 
instead)
4) CONTAINS(): slow because it must go through all rdfs:labels (use jena-text 
instead)

Is this correct?

If my app has an input search box where users can search an item by title (on a 
large graph), would it be a good idea to go with 2) or should I consider 
setting up a text-query index?

Reply via email to