%META:TOPICPARENT{name="VirtTipsAndTricksGuide"}%
---+How can I use the Virtuoso specific query optimizer hint ASSUME?
ASSUME
is a Virtuoso specific query optimizer hint for letting know the optimizer that the expression X is always true and the optimizer should work as such where you have ASSUME, while not triggering any SQL code generation for checking whether X is true (since it is ASSUMED to be true). Thus, in the example below, it is ASSUMED that ?id
is an IRI, so there's not need for any further type checking further down in the query-optimizer's processing workflow.
---++Usage Example:
SELECT *
WHERE
{
?s1 ?id ;
geo:lat ?lat ;
geo:long ?long .
GRAPH ?rdf_view_g
{
?s2 ?id ;
rdfs:label ?label
} .
ASSUME (isIRI (?id)) }
---++Related
* [[VirtTipsAndTricksGuide][Virtuoso Tips and Tricks Collection]]
* [[http://docs.openlinksw.com/virtuoso/rdfsparql.html][Virtuoso Documentation]]
* [[VirtSPARQLOptGuideEx1][Optimizing query performance using bif functions Example]]