%META:TOPICPARENT{name="VirtTipsAndTricksGuide"}% ---+ How Do I use MINUS in a SPARQL query? Virtuoso supports the MINUS function of SPARQL 1.1, as shown below -- SQL> SPARQL SELECT COUNT(*) WHERE { { ?s ?p "Novosibirsk" } MINUS { ?s ?p "???????????" } } callret-0 INTEGER 313 No. of rows in result: 1 [[http://lod.openlinksw.com/sparql?default-graph-uri=&query=SELECT+COUNT%28*%29+%0D%0AWHERE+%0D%0A++%7B+%0D%0A++++%7B+%3Fs+%3Fp+%22Novosibirsk%22+%7D+MINUS+%7B+%3Fs+%3Fp+%22%D0%9D%D0%BE%D0%B2%D0%BE%D1%81%D0%B8%D0%B1%D0%B8%D1%80%D1%81%D0%BA%22+%7D%0D%0A++%7D&should-sponge=&format=text%2Fhtml&CXML_redir_for_subjs=121&CXML_redir_for_hrefs=&timeout=15000&debug=on][View the results]] of the query execution on the [[http://lod.openlinksw.com][LOD]] instance. This query is equivalent to the following query, also conforming to SPARQL 1.1 -- SQL> SPARQL SELECT COUNT(*) WHERE { ?s ?p "Novosibirsk" FILTER NOT EXISTS { ?s ?p "???????????" } } callret-0 INTEGER 313 No. of rows in result: 1 [[http://lod.openlinksw.com/sparql?default-graph-uri=&query=SELECT+COUNT%28*%29+%0D%0AWHERE+%0D%0A++%7B%0D%0A++++%3Fs+%3Fp+%22Novosibirsk%22++FILTER+NOT+EXISTS+%7B+%3Fs+%3Fp+%22%D0%9D%D0%BE%D0%B2%D0%BE%D1%81%D0%B8%D0%B1%D0%B8%D1%80%D1%81%D0%BA%22+%7D+%0D%0A++%7D&should-sponge=&format=text%2Fhtml&CXML_redir_for_subjs=121&CXML_redir_for_hrefs=&timeout=15000&debug=on][View the results]] of the query execution on the [[http://lod.openlinksw.com][LOD]] instance. ---++Related * [[VirtTipsAndTricksGuide][Virtuoso Tips and Tricks Collection]] * [[http://docs.openlinksw.com/virtuoso/rdfsparql.html][Virtuoso Documentation]]