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.
SELECT * WHERE { ?s1 <id> ?id ; geo:lat ?lat ; geo:long ?long . GRAPH ?rdf_view_g { ?s2 <id> ?id ; rdfs:label ?label } . ASSUME (isIRI (?id)) }