- From: Amit Krishna Joshi <joshi.35@wright.edu>
- Date: Tue, 1 Nov 2011 17:13:06 -0400
- To: <public-sparql-dev-request@w3.org>
(Apologies for cross-posting) Hi, I am looking for a generic solution to limit the query results to specific vocabulary or a set of vocabularies. A simple query like below is proving to be quite expensive while sending it to sparql endpoints. select * where { ?s ?p ?o. filter regex(str(?s),"http://purl.org/vocab/ ","i") } limit 1 Virtuoso S1T00 Error SR171: Transaction timed out (http://dbpedia.org/sparql) This is required for us since we are dealing with distributing querying of LOD cloud and we often need to limit the results to specific ontology/vocabulary. One of the obvious solution would be to query without the filter operator and perform filter locally if there's any matching triples. This does not help because the number of returned results might not include the triples containing the required vocabulary though the dataset might contain it. It would be great if I could receive insights and thoughts on dealing with it. 1. Does it require extending sparql to include special function/operator ? (The above query would return results if resource is not limited) 2. Is it a problem with the RDF stores that they don't' maintain the 'prefix-based index' ? Thanks, Amit
Received on Tuesday, 1 November 2011 22:19:04 UTC