<docbook><section><title>VirtTipsAndTricksSPARQL11BIND</title><title>Virtuoso SPARQL 1.1.
 BIND Usage Examples</title>Virtuoso SPARQL 1.1.
 BIND Usage Examples
<para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2">What?</bridgehead>
 This guide contains Virtuoso SPARQL 1.1.
 BIND Usage example queries which you can run against any SPARQL endpoint that supports SPARQL 1.1 and the ability to allow a verified user perform INSERT operations.<bridgehead class="http://www.w3.org/1999/xhtml:h2">Why?</bridgehead>
 To make a SPARQL query more flexible by assigning value(s) to variable(s) and having options for more precised filtering the query results by these variables.<bridgehead class="http://www.w3.org/1999/xhtml:h2">How?</bridgehead>
<orderedlist spacing="compact"><listitem>Assume the following Raw Data Representation in Turtle: <programlisting>@prefix:    &lt;http://example.org/book/&gt; .
@prefix ns:   &lt;http://example.org/ns#&gt; .

:book1  &lt;http://purl.org/dc/elements/1.1/title&gt;     &quot;SPARQL Tutorial&quot; .
:book1  ns:price     42 .
:book1  ns:discount  0.2 .

:book2  &lt;http://purl.org/dc/elements/1.1/title&gt;     &quot;The Semantic Web&quot; .
:book2  ns:price     23 .
:book2  ns:discount  0.25 .
</programlisting></listitem>
<listitem>Load the sample data: <programlisting>PREFIX :     &lt;http://example.org/book/&gt; 
PREFIX ns:   &lt;http://example.org/ns#&gt; 

INSERT 
  { 
    GRAPH &lt;urn:sparql:bind:tests&gt; 
      {
        :book1  &lt;http://purl.org/dc/elements/1.1/title&gt; &quot;SPARQL Tutorial&quot; . 
        :book1  ns:price                                42 . 
        :book1  ns:discount                             0.2 . 
        :book2  &lt;http://purl.org/dc/elements/1.1/title&gt; &quot;The Semantic Web&quot; . 
        :book2  ns:price                                23 . 
        :book2  ns:discount                             0.25 . 
      }
  }
</programlisting></listitem>
<listitem>Assume the following SPARQL query using BIND: <programlisting>PREFIX  ns:  &lt;http://example.org/ns#&gt;

SELECT  ?title ?price
FROM &lt;urn:sparql:bind:tests&gt;
  {
    ?x ns:price ?p .
    ?x ns:discount ?discount .
    ?x &lt;http://purl.org/dc/elements/1.1/title&gt; ?title . 
    BIND (?p*(1-?discount) AS ?price)
    FILTER( ?price &lt; 20 )
  }
</programlisting></listitem>
<listitem><ulink url="http://bit.ly/18Whdgh">View the SPARQL Query Definition via SPARQL Protocol URL</ulink> </listitem>
<listitem><ulink url="http://bit.ly/18WhbVR">View the SPARQL Query Results via SPARQL Protocol URL</ulink></listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2">Related</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtTipsAndTricksGuide">Virtuoso Tips and Tricks Collection</ulink> </listitem>
<listitem><ulink url="VirtTipsAndTricksSPARQL11FeaturesExamplesCollection">Virtuoso SPARQL 1.1 Usage Examples Collection</ulink> </listitem>
<listitem><ulink url="http://virtuoso.openlinksw.com/tutorials/sparql/SPARQL_Tutorials_Part_9/SPARQL_Tutorials_Part_9.html">Virtuoso SPARQL 1.1 Syntax Tutorial</ulink> </listitem>
<listitem><ulink url="http://bit.ly/WHtTAG">Virtuoso SPARQL 1.1. BIND Tutorial</ulink> </listitem>
<listitem><ulink url="http://docs.openlinksw.com/virtuoso/rdfsparql.html">Virtuoso Documentation</ulink> </listitem>
</itemizedlist></section></docbook>