Here are some examples showcasing Virtuoso's support for this functionality:
PREFIX : <http://example.org/book/> PREFIX ns: <http://example.org/ns#> INSERT { GRAPH <urn:sparql:bind:tests> { :book1 <http://purl.org/dc/elements/1.1/title> "SPARQL Tutorial" . :book1 ns:price 42 . :book1 ns:discount 0.2 . :book2 <http://purl.org/dc/elements/1.1/title> "The Semantic Web" . :book2 ns:price 23 . :book2 ns:discount 0.25 . } }
PREFIX : <http://example.org/book/> PREFIX ns: <http://example.org/ns#> SELECT ?book ?title ?price FROM <urn:sparql:bind:tests> WHERE { VALUES ?book { :book1 :book3 } ?book <http://purl.org/dc/elements/1.1/title> ?title ; ns:price ?price . }
PREFIX : <http://example.org/book/> PREFIX ns: <http://example.org/ns#> SELECT ?book ?title ?price FROM <urn:sparql:bind:tests> WHERE { ?book <http://purl.org/dc/elements/1.1/title> ?title ; ns:price ?price . VALUES (?book ?title) { (UNDEF "SPARQL Tutorial") (:book2 UNDEF) } }