<docbook><section><title>VirtRDFInsert</title><para> </para>
<title>RDF Insert Methods in Virtuoso</title>RDF Insert Methods in Virtuoso
<bridgehead class="http://www.w3.org/1999/xhtml:h3">Loading RDF datasets into a Virtuoso Graph IRI</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://docs.openlinksw.com/virtuoso/fn_ttlp_mt.html">Load TTL (TURTLE or N3 resource) datasets into Virtuoso Graph IRI</ulink> </listitem>
<listitem><ulink url="http://docs.openlinksw.com/virtuoso/fn_rdf_load_rdfxml_mt.html">Load RDF/XML datasets into Virtuoso Graph IRI</ulink></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3">Loading RDF datasets into one or more Virtuoso Graph IRIs</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtBulkRDFLoader">Bulk Loading of RDF Source Files into one or more Graph IRIs</ulink></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3">Loading RDF datasets using the Conductor &quot;Quad Store Upload&quot; tab menu option</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://docs.openlinksw.com/virtuoso/htmlconductorbar.html#rdfadm">Conductor &quot;Quad Store Upload&quot; tab</ulink></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> RDF Sink Folders (Virtuoso or ODS-Briefcase)</bridgehead>
 <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtuosoRDFSinkFolder">Using Virtuoso RDF Sink Folder</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/dataspace/dav/wiki/ODS/ODSRDFSinkFolder">Using ODS RDF Sink Folder</ulink> </listitem>
<listitem><ulink url="http://docs.openlinksw.com/virtuoso/rdfinsertmethods.html#rdfinsertmethodwebdav">Using WebDAV and ODS-Briefcase Graphical Interfaces</ulink></listitem>
</itemizedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> HTTP PUT</bridgehead>
 Using this approach we can upload RDF resources into Virtuoso&#39;s <ulink url="WebDAV">WebDAV</ulink> repository and then automatically upload the triples within the resource into the Virtuoso Quad store (if you so choose via <ulink url="VirtuosoRDFSinkFolder">Virtuoso&#39;s special RDF Sink Folder</ulink> feature of <ulink url="WebDAV">WebDAV</ulink> ).<bridgehead class="http://www.w3.org/1999/xhtml:h4"> HTTP PUT Example 1</bridgehead>
 <programlisting>&lt;rdf:RDF xmlns=&quot;http://www.example.com/jose/foaf.rdf#&quot;
    xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot;
    xmlns:log=&quot;http://www.w3.org/2000/10/swap/log#&quot;
    xmlns:myfoaf=&quot;http://www.example.com/jose/foaf.rdf#&quot;
    xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;

    &lt;foaf:Person rdf:about=&quot;http://www.example.com/jose/foaf.rdf#jose&quot;&gt;
        &lt;foaf:homepage rdf:resource=&quot;http://www.example.com/jose/&quot;/&gt;
        &lt;foaf:knows rdf:resource=&quot;http://www.example.com/jose/foaf.rdf#juan&quot;/&gt;
        &lt;foaf:name&gt;Jose Jimen~ez&lt;/foaf:name&gt;
        &lt;foaf:nick&gt;Jo&lt;/foaf:nick&gt;
        &lt;foaf:workplaceHomepage rdf:resource=&quot;http://www.corp.example.com/&quot;/&gt;
    &lt;/foaf:Person&gt;

    &lt;foaf:Person rdf:about=&quot;http://www.example.com/jose/foaf.rdf#juan&quot;&gt;
        &lt;foaf:mbox rdf:resource=&quot;mailto:juan@mail.example.com&quot;/&gt;
    &lt;/foaf:Person&gt;

    &lt;foaf:Person rdf:about=&quot;http://www.example.com/jose/foaf.rdf#julia&quot;&gt;
        &lt;foaf:mbox rdf:resource=&quot;mailto:julia@mail.example.com&quot;/&gt;
    &lt;/foaf:Person&gt;

    &lt;rdf:Description rdf:about=&quot;http://www.example.com/jose/foaf.rdf#kendall&quot;&gt;
        &lt;foaf:knows rdf:resource=&quot;http://www.example.com/jose/foaf.rdf#edd&quot;/&gt;
    &lt;/rdf:Description&gt;
&lt;/rdf:RDF&gt;
</programlisting><para> </para>
<programlisting>File: myfoaf.rdf
Destination Server: demo.openlinksw.com

curl -T myfoaf.rdf http://demo.openlinksw.com/DAV/home/demo/rdf_sink/myfoaf.rdf -u demo:demo
&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML 2.0//EN&quot;&gt;
&lt;HTML&gt;
&lt;HEAD&gt;
  &lt;TITLE&gt;201 Created&lt;/TITLE&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
  &lt;H1&gt;Created&lt;/H1&gt;
  Resource /DAV/home/demo/rdf_sink/ myfoaf.rdf has been created.
&lt;/BODY&gt;
&lt;/HTML&gt;
</programlisting><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h4"> HTTP PUT Example 2</bridgehead>
<orderedlist spacing="compact"><listitem>Create a folder of type &quot;Linked Data Import&quot; for an ODS user with the Briefcase application <orderedlist spacing="compact"><listitem>Go to <ulink url="http://cname/ods,">http://cname/ods,</ulink> click the &quot;Sign In&quot; link and login as user &quot;demo&quot; for example; </listitem>
<listitem>Click the Briefcase application from the left vertical navigation bar; </listitem>
<listitem>Click &quot;New Folder&quot;; </listitem>
<listitem>In the presented form specify the folder name and type, for example: <itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Folder name</emphasis>: &quot;MyData&quot;; </listitem>
<listitem><emphasis>Folder type</emphasis>: &quot;Linked Data Import&quot; <ulink url="VirtRDFInsert/ldput1.png"><figure><graphic fileref="VirtRDFInsert/ldput1.png" /></figure></ulink> </listitem>
</itemizedlist></listitem>
<listitem>Go to the tab &quot;Linked Data Import&quot;; </listitem>
<listitem>Specify &quot;Graph name&quot;, for example &quot;urn:mydata&quot;; </listitem>
<listitem>Select the &quot;Sponger (on/off)&quot; check-box option to enable the Virtuoso sponger for use.
<itemizedlist mark="bullet" spacing="compact"><listitem>Optionally you can select which cartridges to be included from the &quot;Sponger Extractor Cartridges&quot; and &quot;Sponger Meta Cartridges&quot; lists: <ulink url="VirtRDFInsert/ldput2.png"><figure><graphic fileref="VirtRDFInsert/ldput2.png" /></figure></ulink> </listitem>
</itemizedlist></listitem>
<listitem>Click &quot;Create&quot;.
</listitem>
</orderedlist></listitem>
<listitem>As result the new folder will be created.
<ulink url="VirtRDFInsert/ldput3.png"><figure><graphic fileref="VirtRDFInsert/ldput3.png" /></figure></ulink> </listitem>
<listitem>Assume the existence of a local file called &quot;kidehen.n3&quot; containing: <programlisting>&lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://rdfs.org/sioc/ns#User&gt; .
&lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this&gt; &lt;http://www.w3.org/2000/01/rdf-schema#label&gt; 	&quot;Kingsley&quot; .
&lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this&gt; &lt;http://rdfs.org/sioc/ns#creator_of&gt; &lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1300&gt; .
</programlisting></listitem>
<listitem>Run the following command from a terminal shell, where  cname  is replaced with the  actual Virtuoso host:port to load the file to the specified location: <programlisting>$ curl -T kidehen.n3 http://cname/DAV/home/demo/MyData/ -u demo:demo
&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML 2.0//EN&quot;&gt;
  &lt;HTML&gt;
    &lt;HEAD&gt;
      &lt;TITLE&gt;201 Created&lt;/TITLE&gt;
    &lt;/HEAD&gt;
    &lt;BODY&gt;
      &lt;H1&gt;Created&lt;/H1&gt;Resource /DAV/home/demo/MyData/kidehen.n3 has been created.
    &lt;/BODY&gt;
  &lt;/HTML&gt;
</programlisting></listitem>
<listitem>Go to Briefcase application and view the content of the folder &quot;DAV/home/demo/MyData&quot; </listitem>
<listitem>As a result of the curl command to uploaded file &quot;kidehen.n3&quot; an additional file &quot;urn_mydata.RDF&quot; is available as the identifier for the Linked Data graph created in the Quad Store: <ulink url="VirtRDFInsert/ldput4.png"><figure><graphic fileref="VirtRDFInsert/ldput4.png" /></figure></ulink> </listitem>
<listitem>The inserted triples can be queried from the Virtuoso SPARQL endpoint, i.e.
   http://cname/sparql by: <orderedlist spacing="compact"><listitem>Entering the query below in the &quot;Query Text&quot; window: <programlisting>SELECT * 
FROM &lt;urn:mydata&gt;
WHERE 
  {
    ?s ?p ?o
  }
</programlisting><ulink url="VirtRDFInsert/ldq.png"><figure><graphic fileref="VirtRDFInsert/ldq.png" /></figure></ulink> </listitem>
<listitem>Click the &quot;Run Query&quot; button; </listitem>
<listitem>The inserted triples from the &quot;kidehen.n3&quot; is displayed as the result set: <ulink url="VirtRDFInsert/ldput5.png"><figure><graphic fileref="VirtRDFInsert/ldput5.png" /></figure></ulink></listitem>
</orderedlist></listitem>
</orderedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h4"> References</bridgehead>
 <orderedlist spacing="compact"><listitem><ulink url="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.6">HTTP/1.1 PUT</ulink> </listitem>
<listitem><ulink url="http://docs.openlinksw.com/virtuoso/mime.html#mimemultipart">Some Virtuoso PUT Documentation regarding Multipart Forms</ulink></listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> HTTP POST</bridgehead>
 Virtuoso&#39;s support for HTTP content negotiation and the SPARQL Protocol enables the execution of SPARUL as part of an HTTP POST payload using Content-Type: application/sparql-query.<bridgehead class="http://www.w3.org/1999/xhtml:h4">HTTP POST Example 1</bridgehead>
 <orderedlist spacing="compact"><listitem>For user demo from <emphasis>Conductor</emphasis> → <emphasis>System Admin</emphasis> → <emphasis>User Accounts</emphasis> → user <emphasis>demo</emphasis> → <emphasis>Edit</emphasis>, make sure the following properties are set: <itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>User type</emphasis> is SQL/ODBC and <ulink url="WebDAV">WebDAV</ulink>; </listitem>
<listitem><emphasis>Accounts Roles</emphasis> contains in &quot;Selected&quot; list SPARQL_UPDATE: <ulink url="VirtRDFInsert/httppost1.png"><figure><graphic fileref="VirtRDFInsert/httppost1.png" /></figure></ulink> </listitem>
</itemizedlist></listitem>
<listitem>From <emphasis>Conductor</emphasis> → <emphasis>Web Application Server</emphasis> → <emphasis>Content Management</emphasis> or ODS Briefcase UI create a DAV collection &quot;xx&quot; with the following properties: <itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>owner</emphasis> is user demo (the user&#39;s password let&#39;s say is &quot;demo&quot;); </listitem>
<listitem><emphasis>permissions</emphasis> set to rwxrwxrwxn: <ulink url="VirtRDFInsert/httppost2.png"><figure><graphic fileref="VirtRDFInsert/httppost2.png" /></figure></ulink></listitem>
</itemizedlist></listitem>
</orderedlist><orderedlist spacing="compact"><listitem>Execute the following command: <programlisting>curl -i -d &quot;INSERT {&lt;http://demo.openlinksw.com/DAV/home/demo_about.rdf&gt; 
&lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://rdfs.org/sioc/ns#User&gt;}&quot;  -u &quot;demo:demo&quot;
-H &quot;Content-Type: application/sparql-query&quot; http://localhost:8890/DAV/xx/yy
</programlisting></listitem>
<listitem>The response should be: <programlisting>HTTP/1.1 201 Created
Server: Virtuoso/05.00.3023 (Win32) i686-generic-win-32  VDB
Connection: Keep-Alive
Content-Type: text/html; charset=ISO-8859-1
Date: Fri, 28 Dec 2007 12:50:12 GMT
Accept-Ranges: bytes
MS-Author-Via: SPARQL
Content-Length: 0
</programlisting></listitem>
<listitem>the result in the DAV/xx location will be a new <ulink url="WebDAV">WebDAV</ulink> resource with name &quot;yy&quot; containing the inserted RDF: <programlisting>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; 
xmlns:rdfs=&quot;http://www.w3.org/2000/01/rdf-schema#&quot;&gt;
&lt;rdf:Description 
rdf:about=&quot;http://demo.openlinksw.com/DAV/home/demo_about.rdf&quot;&gt;
&lt;ns0pred:type xmlns:ns0pred=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; 
rdf:resource=&quot;http://rdfs.org/sioc/ns#User&quot;/&gt;
&lt;/rdf:Description&gt;
&lt;/rdf:RDF&gt;
</programlisting> </listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4">HTTP POST Example 2</bridgehead>
 <orderedlist spacing="compact"><listitem>Create a DAV collection, for ex.
 with name &quot;test&quot; for user for ex.
 demo with password demo.
<itemizedlist mark="bullet" spacing="compact"><listitem>Note: user &quot;demo&quot; should have from &quot;User type&quot;: SQL/ODBC and <ulink url="WebDAV">WebDAV</ulink> and should have &quot;SPARQL_UPDATE&quot; role set from <emphasis>Conductor</emphasis> → <emphasis>System Admin</emphasis> → <emphasis>User Accounts</emphasis> → user <emphasis>demo</emphasis>, Edit Properties.
</listitem>
</itemizedlist></listitem>
<listitem>Execute the following command: <programlisting>curl -i -d &quot;INSERT IN GRAPH &lt;http://mygraph.com&gt; 
{ &lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this&gt; 
  &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; 
  &lt;http://rdfs.org/sioc/ns#User&gt; . 
  &lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this&gt; 
  &lt;http://www.w3.org/2000/01/rdf-schema#label&gt; 
  &lt;Kingsley Uyi Idehen&gt; . 
  &lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this&gt; 
  &lt;http://rdfs.org/sioc/ns#creator_of&gt;   
  &lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1300&gt;
  } &quot; -u &quot;demo:demo&quot; -H &quot;Content-Type: application/sparql-query&quot; http://localhost:8890/DAV/home/demo/test/myrq
</programlisting></listitem>
<listitem>As result the response will be: <programlisting>HTTP/1.1 201 Created
Server: Virtuoso/05.00.3023 (Win32) i686-generic-win-32  VDB
Connection: Keep-Alive
Content-Type: text/html; charset=ISO-8859-1
Date: Thu, 20 Dec 2007 16:25:25 GMT
Accept-Ranges: bytes
MS-Author-Via: SPARQL
Content-Length: 0
</programlisting></listitem>
<listitem>Now let&#39;s check the inserted triples.
 Go to the SPARQL endpoint, i.e., http://localhost:8890/sparql and: <orderedlist spacing="compact"><listitem>Enter for Default Graph URI: <programlisting>http://mygraph.com
</programlisting></listitem>
<listitem>Enter in the Query  area: <programlisting>SELECT * WHERE {?s ?p ?o}
</programlisting></listitem>
<listitem>Click the button &quot;Run Query&quot; </listitem>
<listitem>As result will be shown the inserted triples: <programlisting>s                                                                 p                                                 o
http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this   http://www.w3.org/1999/02/22-rdf-syntax-ns#type   http://rdfs.org/sioc/ns#User
http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this   http://www.w3.org/2000/01/rdf-schema#label        Kingsley
http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this   http://rdfs.org/sioc/ns#creator_of                http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1300
</programlisting></listitem>
</orderedlist></listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> Examples using LOAD feature of SPARUL</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h4">Using the file: protocol specifier</bridgehead>
<orderedlist spacing="compact"><listitem>An RDF file can be loaded from an absolute path on the file system (whose location is specified in the <ulink url="http://docs.openlinksw.com/virtuoso/dbadm/#ini_parameters_dirsallowed">DirsAllowed</ulink> param in the INI file) using the <emphasis>file:///</emphasis> URI scheme: <programlisting>SQL&gt; sparql load &lt;file:///home/virtuoso/database/data/test.rdf&gt; into &lt;test&gt;;

Done. -- 48 msec.
SQL&gt; sparql select count(*) from &lt;test&gt; where {?s ?p ?o};
callret-0
INTEGER
_______________________________________________________________________________

31

1 Rows. -- 1 msec.
SQL&gt;
</programlisting></listitem>
<listitem>An RDF file can also be uploaded directly from the Virtuoso Web Server root(~/vsp) directory using the <emphasis>file:/</emphasis> URI scheme: <programlisting>SQL&gt; sparql load &lt;file:/test.rdf&gt; into &lt;test&gt;; 
Done. -- 8 msec.
SQL&gt; sparql select count(*) from &lt;test&gt; where {?s ?p ?o};
callret-0
INTEGER
_______________________________________________________________________________

31

1 Rows. -- 1 msec.
SQL&gt;
</programlisting> </listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4">Using a SPARQL query stored on DAV</bridgehead>
<orderedlist spacing="compact"><listitem>Execute from ISQL: <programlisting>SPARQL INSERT IN GRAPH &lt;http://mygraph.com&gt; 
{ 
  &lt;http://myopenlink.net/dataspace/Kingsley#this&gt; 
  &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; 
  &lt;http://rdfs.org/sioc/ns#User&gt; .

  &lt;http://myopenlink.net/dataspace/Kingsley#this&gt; 
  &lt;http://rdfs.org/sioc/ns#id&gt; 
  &lt;Kingsley&gt; .

  &lt;http://myopenlink.net/dataspace/Caroline#this&gt; 
  &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; 
  &lt;http://rdfs.org/sioc/ns#User&gt; .

  &lt;http://myopenlink.net/dataspace/Caroline#this&gt; 
  &lt;http://rdfs.org/sioc/ns#id&gt; 
  &lt;Caroline&gt; .

  &lt;http://myopenlink.net/dataspace/Matt#this&gt; 
  &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; 
  &lt;http://rdfs.org/sioc/ns#User&gt; .

  &lt;http://myopenlink.net/dataspace/Matt#this&gt; 
  &lt;http://rdfs.org/sioc/ns#id&gt; 
  &lt;Matt&gt; .

  &lt;http://myopenlink.net/dataspace/demo#this&gt; 
  &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; 
  &lt;http://rdfs.org/sioc/ns#User&gt; .

  &lt;http://myopenlink.net/dataspace/demo#this&gt; 
  &lt;http://rdfs.org/sioc/ns#id&gt; 
  &lt;demo&gt; .

};
</programlisting></listitem>
<listitem>Create DAV collection which is visible to public, for ex: <ulink url="http://localhost:8890/DAV/tmp">http://localhost:8890/DAV/tmp</ulink> </listitem>
<listitem>Upload to the DAV collection the following file for ex.
 with name listall.rq and with the following content: <programlisting>PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX sioc: &lt;http://rdfs.org/sioc/ns#&gt;
SELECT ?x ?p ?o
FROM &lt;http://mygraph.com&gt;
WHERE 
  {
    ?x rdf:type sioc:User .
    ?x ?p ?o.
    ?x sioc:id ?id .
    FILTER REGEX(str(?id), &quot;^King&quot;)
  }
ORDER BY ?x
</programlisting></listitem>
<listitem>Now from ISQL execute the following command: <programlisting>SPARQL 
LOAD bif:concat (&quot;http://&quot;, bif:registry_get(&quot;URIQADefaultHost&quot;), &quot;/DAV/tmp/listall.rq&quot;) INTO GRAPH &lt;http://myNewGraph.com&gt;;
</programlisting></listitem>
<listitem>As result should be shown the message: <programlisting>callret-0
VARCHAR
_______________________________________________________________________________

Load &lt;http://localhost:8890/DAV/tmp/listall.rq&gt; into graph &lt;http://myNewGraph.com&gt; -- done

1 Rows. -- 321 msec.
</programlisting> </listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> SPARQL Insert via /sparql endpoint</bridgehead>
<para>SPARQL INSERT operation can be sent to a web service endpoint as a single statement and executed in sequence.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h4">Example</bridgehead>
<para>Using the Virtuoso ISQL tool or using the /sparql UI, for ex.
 at <ulink url="http://localhost:8890/sparql,">http://localhost:8890/sparql,</ulink> execute the following:</para>
<orderedlist spacing="compact"><listitem>Insert into graph http://BookStore.com 3 triples: <programlisting>SPARQL INSERT IN GRAPH &lt;http://BookStore.com&gt; 
{ &lt;http://www.dajobe.org/foaf.rdf#i&gt; &lt;http://purl.org/dc/elements/1.1/date&gt; &lt;1999-04-01T00:00:00&gt; .
  &lt;http://www.w3.org/People/Berners-Lee/card#i&gt; &lt;http://purl.org/dc/elements/1.1/date&gt; &lt;1998-05-03T00:00:00&gt; .
  &lt;http://www.w3.org/People/Connolly/#me&gt; &lt;http://purl.org/dc/elements/1.1/date&gt; &lt;2001-02-08T00:00:00&gt; };
</programlisting></listitem>
<listitem>As result will be shown the message: <programlisting>Insert into &lt;http://BookStore.com&gt;, 3 triples -- done
</programlisting></listitem>
<listitem>Next we will select all triples from the graph http://BookStore.com: <programlisting>SPARQL SELECT * FROM &lt;http://BookStore.com&gt; WHERE {?s ?p ?o};
</programlisting></listitem>
<listitem>As result will be shown: <programlisting>s                                              p                                       o
VARCHAR                                        VARCHAR                                 VARCHAR
_______________________________________________________________________________

http://www.w3.org/People/Berners-Lee/card#i    http://purl.org/dc/elements/1.1/date    1998-05-03T00:00:00
http://www.w3.org/People/Connolly/#me          http://purl.org/dc/elements/1.1/date    2001-02-08T00:00:00
http://www.dajobe.org/foaf.rdf#i               http://purl.org/dc/elements/1.1/date    1999-04-01T00:00:00

3 Rows. -- 0 msec.
</programlisting></listitem>
<listitem>Now let&#39;s insert into graph another  http://NewBookStore.com graph&#39;s values: <programlisting>SPARQL 
PREFIX dc:  &lt;http://purl.org/dc/elements/1.1/&gt;
PREFIX xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt;
INSERT INTO GRAPH &lt;http://NewBookStore.com&gt; { ?book ?p ?v }
WHERE
  { GRAPH  &lt;http://BookStore.com&gt;
   { ?book dc:date ?date   
     FILTER ( xsd:dateTime(?date) &lt; xsd:dateTime(&quot;2000-01-01T00:00:00&quot;)). 
     ?book ?p ?v.
   } 
  };
</programlisting></listitem>
<listitem>As result will be shown: <programlisting>callret-0
VARCHAR
_______________________________________________________________________________

Insert into &lt;http://NewBookStore.com&gt;, 2 triples -- done
</programlisting></listitem>
<listitem>Finally we will check the triples from the graph NewBookStore.com: <programlisting>SQL&gt; sparql select * from &lt;http://NewBookStore.com&gt; where {?s ?p ?o};
</programlisting></listitem>
<listitem>As result will be shown: <programlisting>s                                             p                                      o
VARCHAR                                       VARCHAR                                VARCHAR
_______________________________________________________________________________

http://www.w3.org/People/Berners-Lee/card#i   http://purl.org/dc/elements/1.1/date   1998-05-03T00:00:00
http://www.dajobe.org/foaf.rdf#i              http://purl.org/dc/elements/1.1/date   1999-04-01T00:00:00

2 Rows. -- 10 msec.
</programlisting> </listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4"> References</bridgehead>
 <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://docs.openlinksw.com/virtuoso/rdfsparul.html">Virtuoso Documentation for Manage RDF Storage</ulink></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> SPARQL Insert via HTTP Post using Content-Type: application/sparql-query and ODS wiki</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem>With HTTP Post and ODS wiki, you can write an RDF document and perform INSERT/UPDATE actions over it.
</listitem>
<listitem>You can write to a file using SIOC terms for ODS-Wiki.
</listitem>
<listitem>You can check with sparql the inserted / updated triples in the Quad Store.</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4">Example</bridgehead>
 <orderedlist spacing="compact"><listitem>Suppose there is ODS user test3 with ODS password 1, which has testWiki wiki instance.
</listitem>
<listitem>Execute the following: <programlisting>curl -i -d &quot;INSERT {
  &lt;http://localhost:8890/dataspace/test3/wiki/testWiki&gt;         &lt;http://atomowl.org/ontologies/atomrdf#contains&gt;   &lt;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&gt;  . 
  &lt;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&gt;  &lt;http://rdfs.org/sioc/ns#has_container&gt;            &lt;http://localhost:8890/dataspace/test3/wiki/testWiki&gt;         . 
  &lt;http://localhost:8890/dataspace/test3/wiki/testWiki&gt;         &lt;http://atomowl.org/ontologies/atomrdf#entry&gt;      &lt;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&gt;  . 
  &lt;http://localhost:8890/dataspace/test3/wiki/testWiki&gt;         &lt;http://rdfs.org/sioc/ns#container_of&gt;             &lt;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&gt;  . 
  &lt;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&gt;  &lt;http://rdfs.org/sioc/ns#topic&gt;                    &lt;http://localhost:8890/dataspace/test3/wiki/testWiki&gt;         . 
  &lt;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&gt;  &lt;http://atomowl.org/ontologies/atomrdf#source&gt;     &lt;http://localhost:8890/dataspace/test3/wiki/testWiki&gt;         . 
  &lt;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&gt;  &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt;  &lt;http://rdfs.org/sioc/types#Comment&gt;                          . 
  &lt;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&gt;  &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt;  &lt;http://atomowl.org/ontologies/atomrdf#Entry&gt;                 . 
  &lt;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&gt;  &lt;http://www.w3.org/2000/01/rdf-schema#label&gt;       &#39;MyTest&#39;                                                      . 
  &lt;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&gt;  &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt;  &lt;http://atomowl.org/ontologies/atomrdf#Link&gt;                  . 
  &lt;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&gt;  &lt;http://rdfs.org/sioc/ns#content&gt;                  &lt;test&gt;
}&quot; -u &quot;test3:1&quot; -H &quot;Content-Type: application/sparql-query&quot; http://localhost:8890/DAV/home/test3/wiki/testWiki/MyTest
</programlisting></listitem>
<listitem>As result we should have 2 files created: <orderedlist spacing="compact"><listitem>In the user DAV folder &quot;DAV/home/test3/wiki/testWiki/&quot; will be created a file &quot;MyTest&quot; with type &quot;application/sparql-query&quot;.
<orderedlist spacing="compact"><listitem>You can view the content of this file from from the Conductor UI or from the user&#39;s Briefcase UI, path &quot;DAV/home/test3/wiki/testWiki&quot;: </listitem>
<listitem>It content will be: <programlisting>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:rdfs=&quot;http://www.w3.org/2000/01/rdf-schema#&quot;&gt;
&lt;rdf:Description rdf:about=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki&quot;&gt;&lt;ns0pred:entry xmlns:ns0pred=&quot;http://atomowl.org/ontologies/atomrdf#&quot; rdf:resource=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&quot;/&gt;&lt;/rdf:Description&gt;
&lt;rdf:Description rdf:about=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&quot;&gt;&lt;ns0pred:label xmlns:ns0pred=&quot;http://www.w3.org/2000/01/rdf-schema#&quot;&gt;MyTest&lt;/ns0pred:label&gt;&lt;/rdf:Description&gt;
&lt;rdf:Description rdf:about=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&quot;&gt;&lt;ns0pred:type xmlns:ns0pred=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; rdf:resource=&quot;http://atomowl.org/ontologies/atomrdf#Link&quot;/&gt;&lt;/rdf:Description&gt;
&lt;rdf:Description rdf:about=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&quot;&gt;&lt;ns0pred:type xmlns:ns0pred=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; rdf:resource=&quot;http://rdfs.org/sioc/types#Comment&quot;/&gt;&lt;/rdf:Description&gt;
&lt;rdf:Description rdf:about=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&quot;&gt;&lt;ns0pred:type xmlns:ns0pred=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; rdf:resource=&quot;http://atomowl.org/ontologies/atomrdf#Entry&quot;/&gt;&lt;/rdf:Description&gt;
&lt;rdf:Description rdf:about=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&quot;&gt;&lt;ns0pred:has_container xmlns:ns0pred=&quot;http://rdfs.org/sioc/ns#&quot; rdf:resource=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki&quot;/&gt;&lt;/rdf:Description&gt;
&lt;rdf:Description rdf:about=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki&quot;&gt;&lt;ns0pred:container_of xmlns:ns0pred=&quot;http://rdfs.org/sioc/ns#&quot; rdf:resource=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&quot;/&gt;&lt;/rdf:Description&gt;
&lt;rdf:Description rdf:about=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki&quot;&gt;&lt;ns0pred:contains xmlns:ns0pred=&quot;http://atomowl.org/ontologies/atomrdf#&quot; rdf:resource=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&quot;/&gt;&lt;/rdf:Description&gt;
&lt;rdf:Description rdf:about=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&quot;&gt;&lt;ns0pred:content xmlns:ns0pred=&quot;http://rdfs.org/sioc/ns#&quot;&gt;test&lt;/ns0pred:content&gt;&lt;/rdf:Description&gt;
&lt;rdf:Description rdf:about=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&quot;&gt;&lt;ns0pred:topic xmlns:ns0pred=&quot;http://rdfs.org/sioc/ns#&quot; rdf:resource=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki&quot;/&gt;&lt;/rdf:Description&gt;
&lt;rdf:Description rdf:about=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&quot;&gt;&lt;ns0pred:source xmlns:ns0pred=&quot;http://atomowl.org/ontologies/atomrdf#&quot; rdf:resource=&quot;http://localhost:8890/dataspace/test3/wiki/testWiki&quot;/&gt;&lt;/rdf:Description&gt;
&lt;/rdf:RDF&gt; 
</programlisting></listitem>
</orderedlist></listitem>
<listitem>To the user&#39;s wiki instance will be added a new WikiWord &quot;MyTest&quot; with content the value of the SIOC term attribue &quot;content&quot;: <programlisting>&lt;http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest&gt; &lt;http://rdfs.org/sioc/ns#content&gt; &lt;test&gt;
</programlisting>i.e., the content will be &quot;test&quot;.
<orderedlist spacing="compact"><listitem>You can view this file in path &quot;DAV/home/test3/wiki/testWiki/&quot; and its name will be &quot;MyTest.txt&quot;.
</listitem>
<listitem>Using the ODS wiki UI you can: <orderedlist spacing="compact"><listitem>Go to Index link </listitem>
<listitem>As result the MyTest article will be shown in the given list.
 Click on its link.
</listitem>
<listitem>As result the content of the article will be shown.
</listitem>
</orderedlist></listitem>
</orderedlist></listitem>
</orderedlist></listitem>
<listitem>Now lets check what data was inserted in the Quad Store: <orderedlist spacing="compact"><listitem>Go to the sparql endpoint, i.e.
 for ex.
 to <ulink url="http://localhost:8890/sparql">http://localhost:8890/sparql</ulink> </listitem>
<listitem>Enter for Default Graph URI: <programlisting>http://localhost:8890/DAV/home/test3/wiki/testWiki/MyTest
</programlisting></listitem>
<listitem>Enter for Query text: <programlisting>SELECT * WHERE {?s ?p ?o}
</programlisting></listitem>
<listitem>Click the &quot;Run Query&quot; button.
</listitem>
<listitem>As result will be shown the inserted triples: <programlisting>s                                                             p                                                 o
http://localhost:8890/dataspace/test3/wiki/testWiki           http://rdfs.org/sioc/ns#container_of              http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest
http://localhost:8890/dataspace/test3/wiki/testWiki           http://atomowl.org/ontologies/atomrdf#entry       http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest
http://localhost:8890/dataspace/test3/wiki/testWiki           http://atomowl.org/ontologies/atomrdf#contains    http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest
http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest    http://www.w3.org/1999/02/22-rdf-syntax-ns#type   http://rdfs.org/sioc/types#Comment
http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest    http://www.w3.org/1999/02/22-rdf-syntax-ns#type   http://atomowl.org/ontologies/atomrdf#Entry
http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest    http://www.w3.org/1999/02/22-rdf-syntax-ns#type   http://atomowl.org/ontologies/atomrdf#Link
http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest    http://www.w3.org/2000/01/rdf-schema#label        MyTest
http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest    http://rdfs.org/sioc/ns#has_container             http://localhost:8890/dataspace/test3/wiki/testWiki
http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest    http://rdfs.org/sioc/ns#content                   test
http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest    http://rdfs.org/sioc/ns#topic                     http://localhost:8890/dataspace/test3/wiki/testWiki
http://localhost:8890/dataspace/test3/wiki/testWiki/MyTest    http://atomowl.org/ontologies/atomrdf#source      http://localhost:8890/dataspace/test3/wiki/testWiki
</programlisting> </listitem>
</orderedlist></listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4">References</bridgehead>
 <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://ods.openlinksw.com/dataspace/dav/wiki/ODS/OdsWiki">ODS Wiki</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/dataspace/dav/wiki/ODS/OdsWikiFAQ">Wiki FAQ</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/dataspace/dav/wiki/ODS/OdsWikiGettingStarted">Getting Started with Wiki</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/dataspace/dav/wiki/ODS/SIOCRefWiki">Query ODS-Wiki Data using SPARQL and SIOC Ontology</ulink></listitem>
</itemizedlist><para> <ulink url="">
 </ulink></para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3">Example Using <ulink url="WebDAV">WebDAV</ulink></bridgehead>
<para>Mount folder to DAV and dump; if this is the rdf_sink the Quad Store is updated automatically, or you can load from DAV manually to quad store.</para>
<orderedlist spacing="compact"><listitem>Using ODS Briefcase: <orderedlist spacing="compact"><listitem>Go to your ods location, for ex.
 <ulink url="http://localhost:8890/ods">http://localhost:8890/ods</ulink> </listitem>
<listitem>Register user, for ex.
 user test1 </listitem>
<listitem>Login if not already in ods </listitem>
<listitem>Go to ODS → Briefcase </listitem>
<listitem>Create new instance </listitem>
<listitem>Go to the briefcase instance by clicking its name link </listitem>
<listitem>Upload file in a new created folder mytest or in the rdf_sink folder with: <orderedlist spacing="compact"><listitem>checked option &quot;RDF Store&quot; </listitem>
<listitem>set RDF Graph Name, for example, http://localhost:8890/DAV/home/test1/&lt;name of the current folder&gt;/, e.g., http://localhost:8890/DAV/home/test1/mytest/ or http://localhost:8890/DAV/home/test1/rdf_sink/ </listitem>
<listitem>For example, upload the following file with name jose.rdf.
<programlisting>&lt;rdf:RDF xmlns=&quot;http://www.example.com/jose/foaf.rdf#&quot;
    xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot;
    xmlns:log=&quot;http://www.w3.org/2000/10/swap/log#&quot;
    xmlns:myfoaf=&quot;http://www.example.com/jose/foaf.rdf#&quot;
    xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;

    &lt;foaf:Person rdf:about=&quot;http://www.example.com/jose/foaf.rdf#jose&quot;&gt;
        &lt;foaf:homepage rdf:resource=&quot;http://www.example.com/jose/&quot;/&gt;
        &lt;foaf:knows rdf:resource=&quot;http://www.example.com/jose/foaf.rdf#juan&quot;/&gt;
        &lt;foaf:name&gt;Jose Jimen~ez&lt;/foaf:name&gt;
        &lt;foaf:nick&gt;Jo&lt;/foaf:nick&gt;
        &lt;foaf:workplaceHomepage rdf:resource=&quot;http://www.corp.example.com/&quot;/&gt;
    &lt;/foaf:Person&gt;

    &lt;foaf:Person rdf:about=&quot;http://www.example.com/jose/foaf.rdf#juan&quot;&gt;
        &lt;foaf:mbox rdf:resource=&quot;mailto:juan@mail.example.com&quot;/&gt;
    &lt;/foaf:Person&gt;

    &lt;foaf:Person rdf:about=&quot;http://www.example.com/jose/foaf.rdf#julia&quot;&gt;
        &lt;foaf:mbox rdf:resource=&quot;mailto:julia@mail.example.com&quot;/&gt;
    &lt;/foaf:Person&gt;

    &lt;rdf:Description rdf:about=&quot;http://www.example.com/jose/foaf.rdf#kendall&quot;&gt;

        &lt;foaf:knows rdf:resource=&quot;http://www.example.com/jose/foaf.rdf#edd&quot;/&gt;
    &lt;/rdf:Description&gt;
&lt;/rdf:RDF&gt;
</programlisting></listitem>
</orderedlist></listitem>
<listitem>Execute the following query: <programlisting>-- for specified user folder:
SELECT * FROM &lt;http://localhost:8890/DAV/home/test1/mytest/&gt;
WHERE {?s ?p ?o}
-- or if the file is uploaded into the rdf_sink folder
SELECT * FROM &lt;http://localhost:8890/DAV/home/test1/rdf_sink/&gt;
WHERE {?s ?p ?o} 
</programlisting></listitem>
<listitem>As result the following triples should be found: <programlisting>s                                         p                                                  o
http://www.example.com/jose/foaf.rdf#jose     http://www.w3.org/1999/02/22-rdf-syntax-ns#type    http://xmlns.com/foaf/0.1/Person
http://www.example.com/jose/foaf.rdf#jose     http://xmlns.com/foaf/0.1/nick                     Jo
http://www.example.com/jose/foaf.rdf#jose     http://xmlns.com/foaf/0.1/name                     Jose Jimen~ez
http://www.example.com/jose/foaf.rdf#jose     http://xmlns.com/foaf/0.1/knows                    http://www.example.com/jose/foaf.rdf#juan
http://www.example.com/jose/foaf.rdf#jose     http://xmlns.com/foaf/0.1/homepage                 http://www.example.com/jose/
http://www.example.com/jose/foaf.rdf#jose     http://xmlns.com/foaf/0.1/workplaceHomepage        http://www.corp.example.com/
http://www.example.com/jose/foaf.rdf#kendall  http://xmlns.com/foaf/0.1/knows                    http://www.example.com/jose/foaf.rdf#edd
http://www.example.com/jose/foaf.rdf#julia    http://www.w3.org/1999/02/22-rdf-syntax-ns#type    http://xmlns.com/foaf/0.1/Person
http://www.example.com/jose/foaf.rdf#julia    http://xmlns.com/foaf/0.1/mbox                     mailto:julia@mail.example.com
http://www.example.com/jose/foaf.rdf#juan     http://www.w3.org/1999/02/22-rdf-syntax-ns#type    http://xmlns.com/foaf/0.1/Person
http://www.example.com/jose/foaf.rdf#juan     http://xmlns.com/foaf/0.1/mbox                     mailto:juan@mail.example.com
</programlisting></listitem>
</orderedlist></listitem>
<listitem>Using Conductor UI: <orderedlist spacing="compact"><listitem>Go to Conductor UI, for ex.
 at <ulink url="http://localhost:8890/conductor">http://localhost:8890/conductor</ulink> </listitem>
<listitem>Login as dba user </listitem>
<listitem>Go to <ulink url="WebDAV">WebDAV</ulink>&amp;HTTP and create new folder, for ex.
 test </listitem>
<listitem>Upload in the folder test a file, for ex.
 the file  jose.rdf from above with options: <orderedlist spacing="compact"><listitem>Destination: RDF Store </listitem>
<listitem>Set the RDF IRI</listitem>
</orderedlist></listitem>
</orderedlist></listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3">Example Using Linked Data Import folder and Upload from File</bridgehead>
<orderedlist spacing="compact"><listitem>Create for ODS user demo a folder from type &quot;Linked Data Import&quot; using the Briefcase UI: <orderedlist spacing="compact"><listitem>Go to <ulink url="http://cname/ods">http://cname/ods</ulink> and click Sign In </listitem>
<listitem>Enter user demo log in credentials </listitem>
<listitem>Click Briefcase from the left vertical navigation bar </listitem>
<listitem>Click &quot;New Folder&quot; </listitem>
<listitem>In the presented form specify for ex.: <itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Folder name</emphasis>: &quot;MyData&quot; </listitem>
<listitem><emphasis>Folder type</emphasis>: &quot;Linked Data Import&quot; <ulink url="VirtRDFInsert/ldput1.png"><figure><graphic fileref="VirtRDFInsert/ldput1.png" /></figure></ulink> </listitem>
</itemizedlist></listitem>
<listitem>Go to tab &quot;Linked Data Import&quot; </listitem>
<listitem>Specify &quot;Graph name&quot;, for ex.
 &quot;urn:mydata&quot; </listitem>
<listitem>Hatch &quot;Sponger (on/off)&quot; check-box, which setting will enable the Sponger usage <orderedlist spacing="compact"><listitem>Optionally you can select which cartridges to be included from the &quot;Sponger Extractor Cartridges&quot; and &quot;Sponger Meta Cartridges&quot; lists: <ulink url="VirtRDFInsert/ldput2.png"><figure><graphic fileref="VirtRDFInsert/ldput2.png" /></figure></ulink> </listitem>
</orderedlist></listitem>
<listitem>Click &quot;Create&quot;.
</listitem>
</orderedlist></listitem>
<listitem>As result the new folder should be created: <ulink url="VirtRDFInsert/ldput3.png"><figure><graphic fileref="VirtRDFInsert/ldput3.png" /></figure></ulink> </listitem>
<listitem>Click its name link: <ulink url="VirtRDFInsert/ldput4.png"><figure><graphic fileref="VirtRDFInsert/ldput4.png" /></figure></ulink> </listitem>
<listitem>Click &quot;Upload&quot;.
</listitem>
<listitem>In the presented form: <orderedlist spacing="compact"><listitem>Choose &quot;Destination&quot;: <ulink url="WebDAV">WebDAV</ulink>; </listitem>
<listitem>Specify the source for the n3, .ttl etc.
 file we are going to import.
 For example, choose       source &quot;File&quot; and click &quot;Choose file&quot; in order to select from your local filesystem for ex.
 a file with name &quot;kidehen.n3&quot; and content as follows: <programlisting>&lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://rdfs.org/sioc/ns#User&gt; .
&lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this&gt; &lt;http://www.w3.org/2000/01/rdf-schema#label&gt; 	&quot;Kingsley&quot; .
&lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this&gt; &lt;http://rdfs.org/sioc/ns#creator_of&gt; &lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1300&gt; .
</programlisting><ulink url="VirtRDFInsert/ldpost2.png"><figure><graphic fileref="VirtRDFInsert/ldpost2.png" /></figure></ulink> </listitem>
<listitem>Click &quot;Upload&quot;.
</listitem>
</orderedlist></listitem>
<listitem>Should be created a new file with the name as specified in the form from above: <ulink url="VirtRDFInsert/ldpost3.png"><figure><graphic fileref="VirtRDFInsert/ldpost3.png" /></figure></ulink> </listitem>
<listitem>Now let&#39;s check the inserted triples.
 Go to your Virtuoso SPARQL endpoint, i.e.,    http://cname/sparql and: <orderedlist spacing="compact"><listitem>Enter in the Query area the following simple query: <programlisting>SELECT * 
FROM &lt;urn:mydata&gt;
WHERE 
  {
    ?s ?p ?o
  }
</programlisting><ulink url="VirtRDFInsert/ldq.png"><figure><graphic fileref="VirtRDFInsert/ldq.png" /></figure></ulink> </listitem>
<listitem>Click the button &quot;Run Query&quot; </listitem>
<listitem>As result will be shown the inserted triples: <programlisting>s                                                                 p                                                 o
http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this   http://www.w3.org/1999/02/22-rdf-syntax-ns#type   http://rdfs.org/sioc/ns#User
http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this   http://www.w3.org/2000/01/rdf-schema#label        Kingsley
http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this   http://rdfs.org/sioc/ns#creator_of                http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1300
</programlisting></listitem>
</orderedlist></listitem>
</orderedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3">Example Using Linked Data Import folder and a manually created resource with N3/Turtle content</bridgehead>
<orderedlist spacing="compact"><listitem>Create for ODS user demo a folder from type &quot;Linked Data Import&quot; using the Briefcase UI: <orderedlist spacing="compact"><listitem>Go to <ulink url="http://cname/ods">http://cname/ods</ulink> and click Sign In; </listitem>
<listitem>Enter user demo log in credentials; </listitem>
<listitem>Click Briefcase from the left vertical navigation bar; </listitem>
<listitem>Click &quot;New Folder&quot;; </listitem>
<listitem>In the presented form specify for ex.: <itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Folder name</emphasis>: &quot;MyData&quot;; </listitem>
<listitem><emphasis>Folder type</emphasis>: &quot;Linked Data Import&quot; <ulink url="VirtRDFInsert/ldput1.png"><figure><graphic fileref="VirtRDFInsert/ldput1.png" /></figure></ulink> </listitem>
</itemizedlist></listitem>
<listitem>Go to tab &quot;Linked Data Import&quot;; </listitem>
<listitem>Specify &quot;Graph name&quot;, for ex.
 &quot;urn:mydata&quot;; </listitem>
<listitem>Hatch &quot;Sponger (on/off)&quot; check-box, which setting will enable the Sponger usage.
<orderedlist spacing="compact"><listitem>Optionally you can select which cartridges to be included from the &quot;Sponger Extractor Cartridges&quot; and &quot;Sponger Meta Cartridges&quot; lists: <ulink url="VirtRDFInsert/ldput2.png"><figure><graphic fileref="VirtRDFInsert/ldput2.png" /></figure></ulink> </listitem>
</orderedlist></listitem>
<listitem>Click &quot;Create&quot;.
</listitem>
</orderedlist></listitem>
<listitem>As result the new folder should be created: <ulink url="VirtRDFInsert/ldput3.png"><figure><graphic fileref="VirtRDFInsert/ldput3.png" /></figure></ulink> </listitem>
<listitem>Click its name link: <ulink url="VirtRDFInsert/ldpost1.png"><figure><graphic fileref="VirtRDFInsert/ldpost1.png" /></figure></ulink> </listitem>
<listitem>Click &quot;Create&quot;.
</listitem>
<listitem>In the presented form: <orderedlist spacing="compact"><listitem>Specify &quot;File name&quot;, for ex: mytest.n3 ; </listitem>
<listitem>Specify &quot;File Mime Type&quot;, for ex: text/rdf+n3 ; </listitem>
<listitem>Enter in the &quot;File Content&quot; text area the following triples: <programlisting>&lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this&gt; &lt;http://rdfs.org/sioc/ns#id&gt;  	&quot;kidehen@openlinksw.com&quot; .
&lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this&gt; &lt;http://rdfs.org/sioc/ns#link&gt; 	&lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com&gt; .
&lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this&gt; &lt;http://rdfs.org/sioc/ns#account_of&gt; 	&lt;http://www.openlinksw.com/dataspace/person/kidehen@openlinksw.com#this&gt; .
</programlisting><ulink url="VirtRDFInsert/lc1.png"><figure><graphic fileref="VirtRDFInsert/lc1.png" /></figure></ulink> </listitem>
<listitem>Click &quot;Create&quot;.
</listitem>
</orderedlist></listitem>
<listitem>Should be created a new file with the name as specified in the form from above: <ulink url="VirtRDFInsert/lc3.png"><figure><graphic fileref="VirtRDFInsert/lc3.png" /></figure></ulink> </listitem>
<listitem>Now let&#39;s check the inserted triples.
 Go to your Virtuoso SPARQL endpoint, i.e.,    http://cname/sparql and: <orderedlist spacing="compact"><listitem>Enter in the Query area the following simple query: <programlisting>SELECT * 
FROM &lt;urn:mydata&gt;
WHERE 
  {
    ?s ?p ?o
  }
</programlisting><ulink url="VirtRDFInsert/ldq.png"><figure><graphic fileref="VirtRDFInsert/ldq.png" /></figure></ulink> </listitem>
<listitem>Click the button &quot;Run Query&quot; </listitem>
<listitem>As result will be shown the inserted triples: <ulink url="VirtRDFInsert/lc4.png"><figure><graphic fileref="VirtRDFInsert/lc4.png" /></figure></ulink></listitem>
</orderedlist></listitem>
</orderedlist><para> <ulink url="">
 </ulink></para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> Example Using Virtuoso Crawler</bridgehead>
<para>The following example is using Virtuoso Crawler which includes the Sponger options so you crawl non-RDF and get RDF and this data will go to the Quad Store.</para>
<orderedlist spacing="compact"><listitem>Go to conductor UI.
 For ex.
 at <ulink url="http://localhost:8890/conductor">http://localhost:8890/conductor</ulink> </listitem>
<listitem>Login as dba user </listitem>
<listitem>Go to tab <emphasis>Web Application Server</emphasis> → <emphasis>Content Management</emphasis> → <emphasis>Content Imports</emphasis> </listitem>
<listitem>Click the &quot;New Target&quot; button </listitem>
<listitem>In the shown form enter set respectively: <orderedlist spacing="compact"><listitem>&quot;Crawl Job Name&quot;: Tim Berners-Lee&#39;s electronic Business Card </listitem>
<listitem>&quot;Data Source Address (URL)&quot;: <ulink url="http://www.w3.org/People/Berners-Lee">http://www.w3.org/People/Berners-Lee</ulink> </listitem>
<listitem>&quot;Local <ulink url="WebDAV">WebDAV</ulink> Identifier&quot; for ex.: /DAV/home/demo/rdf_sink/ </listitem>
<listitem>Choose from the list &quot;Local resources owner&quot;: demo </listitem>
<listitem>Check the check.box with label &quot;Store metadata&quot;.
</listitem>
<listitem>Check all the check-boxes shown below the check-box &quot;Store metadata&quot;.
<ulink url="VirtRDFInsert/cond1.png"><figure><graphic fileref="VirtRDFInsert/cond1.png" /></figure></ulink> <ulink url="VirtRDFInsert/cond1a.png"><figure><graphic fileref="VirtRDFInsert/cond1a.png" /></figure></ulink> <ulink url="VirtRDFInsert/cond1b.png"><figure><graphic fileref="VirtRDFInsert/cond1b.png" /></figure></ulink> </listitem>
<listitem>Click &quot;Create&quot;.
</listitem>
</orderedlist></listitem>
<listitem>The new created target should be presented in the list of available targets: <ulink url="VirtRDFInsert/cond1c.png"><figure><graphic fileref="VirtRDFInsert/cond1c.png" /></figure></ulink> </listitem>
<listitem>Click the button &quot;Import Queues&quot;.
</listitem>
<listitem>For &quot;Robot target&quot; with label &quot;Tim Berners-Lee&#39;s electronic Business Card&quot; click the start link.
</listitem>
<listitem>As result should be shown the number of the pages retrieved.
<ulink url="VirtRDFInsert/cond2.png"><figure><graphic fileref="VirtRDFInsert/cond2.png" /></figure></ulink> </listitem>
<listitem>Now using the SPARQL endpoint with Sponger option &quot;Use only local data&quot; enter for Default Graph URI: <ulink url="http://www.w3.org/People/Berners-Lee">http://www.w3.org/People/Berners-Lee</ulink> and execute the following query: <programlisting>SELECT *
WHERE {?s ?p ?o}
</programlisting></listitem>
<listitem>As result should be shown the following triples: <programlisting>s                                       p                                                  o
http://www.w3.org/People/Berners-Lee    http://www.w3.org/1999/02/22-rdf-syntax-ns#type    http://xmlns.com/foaf/0.1/Document
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              Answers for young people - Tim Berners-Lee
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              Berners-Lee: Weaving the Web
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              Declaration by Tim BL 28 Feb 1996 w.r.t. CDA challenge
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              Errata - Berners-Lee: Weaving the Web
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              Frequently asked questions by the Press - Tim BL
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              Glossary - Weaving the Web - Berners-Lee
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              Longer Bio for Tim Berners-Lee
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              Michael Dertouzos has left us
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              The Future of the Web and Europe
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              The World Wide Web: Past, Present and Future
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              The World Wide Web: A very short personal history
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              Tim Berners-Lee
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              Tim Berners-Lee - 3Com Founders chair
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              Tim Berners-Lee: Disclosures
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              Tim Berners-Lee: WWW and UU and I
http://www.w3.org/People/Berners-Lee    http://purl.org/dc/elements/1.1/title              Tim Berners-Lee: WorldWideWeb, the first Web client
</programlisting> </listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4"> References</bridgehead>
 <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSetCrawlerJobsGuide">Use the Content Crawler to Populate the RDF Quad Store</ulink> </listitem>
<listitem><ulink url="http://docs.openlinksw.com/virtuoso/adminui.html">Virtuoso Conductor Administration</ulink></listitem>
</itemizedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> Examples using SPARQL 1.1 Graph Store HTTP Protocol</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtGraphUpdateProtocolUI">sparql-graph-crud-auth Endpoint UI Usage Example</ulink> </listitem>
<listitem><ulink url="VirtGraphProtocolCURLExamples">SPARQL 1.1. Graph Store HTTP Protocol cURL Examples Collection</ulink></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> Example using SPARQL Query &amp; Sponger</bridgehead>
<para>(i.e.
 we Sponge the Resources in the FROM Clause or values for the graph-uri parameter in SPARQL protocol URLs)</para>
<orderedlist spacing="compact"><listitem>Execute the following query: <programlisting>SPARQL
SELECT ?id 
FROM NAMED &lt;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/sioc.ttl&gt;
 OPTION (get:soft &quot;soft&quot;, get:method &quot;GET&quot;)
WHERE { GRAPH ?g { ?id a ?o } }
LIMIT 10; 
</programlisting></listitem>
<listitem>As result will be shown the retrieved triples: <programlisting>id
VARCHAR
_______________________________________________________________________________

http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#this
http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D
http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D
http://www.openlinksw.com/dataspace/person/kidehen@openlinksw.com#this
http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/612
http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/612
http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/610
http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/610
http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/856
http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/856

10 Rows. -- 20 msec.
</programlisting> </listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4"> References</bridgehead>
 <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://demo.openlinksw.com/tutorial/rdf/ri_s_1/ri_s_1.vsp">Virtuoso tutorial for RDF data import using SPARQL sponger.</ulink> </listitem>
<listitem><ulink url="VOSSPARQL">SPARQL Query Language support</ulink> </listitem>
<listitem><ulink url="VOSSparqlProtocol">SPARQL Protocol support</ulink></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> Example using Virtuoso PL APIs</bridgehead>
<orderedlist spacing="compact"><listitem>In the example script we implement a basic mapper which maps a text/plain mime type to an imaginary ontology, which extends the class Document from FOAF with properties &#39;txt:UniqueWords&#39; and &#39;txt:Chars&#39;, where the prefix &#39;txt:&#39; we specify as &#39;urn:txt:v0.0:&#39;.
<programlisting>USE DB;

CREATE PROCEDURE DB.DBA.RDF_LOAD_TXT_META
    (
     IN     graph_iri       VARCHAR,
     IN     new_origin_uri  VARCHAR,
     IN     dest            VARCHAR,
     INOUT  ret_body        ANY,
     INOUT  aq              ANY,
     INOUT  ps              ANY,
     INOUT  ser_key         ANY
    )
{
  DECLARE words, chars INT;
  DECLARE vtb, arr, subj, ses, str ANY;
  DECLARE ses ANY;
  -- if any error we just say nothing can be done
  DECLARE EXIT HANDLER FOR SQLSTATE &#39;*&#39;
    {
      RETURN 0;
    };
  subj := COALESCE (dest, new_origin_uri);
  vtb := vt_batch ();
  chars := LENGTH (ret_body);
  -- using the text index procedures we get a list of words
  vt_batch_feed (vtb, ret_body, 1);
  arr := vt_batch_strings_array (vtb);
  -- the list has &#39;word&#39; and positions array, so we must divide by 2
  words := LENGTH (arr) / 2;
  ses := string_output ();
  -- we compose a N3 literal
  http (sprintf (&#39;&lt;%s&gt; &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://xmlns.com/foaf/0.1/Document&gt; .\n&#39;, subj), ses);
  http (sprintf (&#39;&lt;%s&gt; &lt;urn:txt:v0.0:UniqueWords&gt; &quot;%d&quot; .\n&#39;, subj, words), ses);
  http (sprintf (&#39;&lt;%s&gt; &lt;urn:txt:v0.0:Chars&gt; &quot;%d&quot; .\n&#39;, subj, chars), ses);
  str := string_output_string (ses);
  -- we push the N3 text into the local store
  DB.DBA.TTLP (str, new_origin_uri, subj);
  RETURN 1;
}
;

--
DELETE FROM  DB.DBA.SYS_RDF_MAPPERS  WHERE  RM_HOOK = &#39;DB.DBA.RDF_LOAD_TXT_META&#39;;

INSERT SOFT  DB.DBA.SYS_RDF_MAPPERS (RM_PATTERN, RM_TYPE, RM_HOOK, RM_KEY, RM_DESCRIPTION)
    VALUES (&#39;(text/plain)&#39;, &#39;MIME&#39;, &#39;DB.DBA.RDF_LOAD_TXT_META&#39;, null, &#39;Text Files (demo)&#39;);

-- here we set order to some large number so don&#39;t break existing mappers
UPDATE  DB.DBA.SYS_RDF_MAPPERS  SET  RM_ID = 2000  WHERE  RM_HOOK = &#39;DB.DBA.RDF_LOAD_TXT_META&#39;;
</programlisting> </listitem>
<listitem>To test the mapper we just use /sparql endpoint with option &#39;Retrieve remote RDF data for all missing source graphs&#39; to execute: <programlisting>SELECT * 
  FROM &lt;http://demo.openlinksw.com:8890/tutorial/hosting/ho_s_30/WebCalendar/tools/summary.txt&gt; 
  WHERE { ?s ?p ?o }
</programlisting></listitem>
<listitem>Check the results <ulink url="http://demo.openlinksw.com/sparql?default-graph-uri=http%3A%2F%2Flocalhost%3A80%2Ftutorial%2Fhosting%2Fho_s_30%2FWebCalendar%2Ftools%2Fsummary.txt&amp;should-sponge=soft&amp;query=select+*+where+%7B+%3Fs+%3Fp+%3Fo+.+%7D&amp;format=text%2Fhtml">here</ulink>.</listitem>
</orderedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h4">Important: Setting Sponger Permissions</bridgehead>
<para>In order to allow the Sponger to update the local RDF quad store with triples constituting the the Network Resource being fetched as structured data, the role &quot;SPARQL_UPDATE&quot; must be granted to the account &quot;SPARQL&quot;.
 This should normally be the case.
 If not, you must manually grant this permission.
 As with most Virtuoso DBA tasks, the Conductor provides the simplest means of doing this.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h4"> References</bridgehead>
 <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://demo.openlinksw.com/tutorial/rdf/rd_s_1/rd_s_1.vsp">Virtuoso on-line tutorial</ulink></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> Example using SIMILE RDF Bank API</bridgehead>
 Virtuoso implements the HTTP-based Semantic Bank API that enables client applications to post to its RDF Triple Store.
 This method offers an alternative to using Virtuoso/PL functions or <ulink url="WebDAV">WebDAV</ulink> uploads as the triples-insertion mechanism.<orderedlist spacing="compact"><listitem>From your machine go to <emphasis>Firefox</emphasis> → <emphasis>Tools</emphasis> → <emphasis>PiggyBank</emphasis> → <emphasis>My Semantic Bank Accounts</emphasis> </listitem>
<listitem>Add in the shown form: <orderedlist spacing="compact"><listitem>For bank address: <ulink url="http://demo.openlinksw.com/bank">http://demo.openlinksw.com/bank</ulink> </listitem>
<listitem>For account id: demo </listitem>
<listitem>For password: demo </listitem>
</orderedlist></listitem>
<listitem>Go to demo.openlinksw.com/ods </listitem>
<listitem>Log in as user demo, password: demo </listitem>
<listitem>Go to the Weblog tab from the main ODS Navigation </listitem>
<listitem>Click on weblog instance name, for ex.
 &quot;demo&#39;s Weblog&quot;.
</listitem>
<listitem>When the weblog home page is loaded, click Alt + P.
</listitem>
<listitem>As result is shown the &quot;My PiggyBank&quot; page with all the collected information presented in items.
</listitem>
<listitem>For several of the items add Tags from the form &quot;Tag&quot; shown for each of them.
</listitem>
<listitem>As result should be shown the message &quot;Last updated: [here goes the date value].
</listitem>
<listitem>You can also click &quot;Save&quot; and &quot;Publish&quot; for these items.
</listitem>
<listitem>Go to <ulink url="http://demo.openlinksw.com/sparql">http://demo.openlinksw.com/sparql</ulink> </listitem>
<listitem>Enter for the &quot;Default Graph URI&quot; field: <ulink url="http://simile.org/piggybank/demo">http://simile.org/piggybank/demo</ulink> </listitem>
<listitem>Enter for the &quot;Query text&quot; text-area: <programlisting>   PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;
   PREFIX sioc: &lt;http://rdfs.org/sioc/ns#&gt;
   SELECT *
   FROM &lt;http://simile.org/piggybank/demo&gt;
   WHERE {?s ?p  ?o}
</programlisting></listitem>
<listitem>Click &quot;Run Query&quot;.
</listitem>
<listitem>As results are shown the found results.</listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4"> References</bridgehead>
 <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VOSSemanticBank">Implementation of the SIMILE project&#39;s HTTP based Semantic Bank API</ulink> </listitem>
<listitem><ulink url="http://docs.openlinksw.com/virtuoso/rdfsparqlprotocolendpoint.html#rdftables">Virtuoso Documentation Semantic Bank end point</ulink></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3"> Example using RDF NET</bridgehead>
<programlisting>SQL&gt; SELECT DB.DBA.HTTP_RDF_NET (&#39;SPARQL LOAD 
&quot;http://www.openlinksw.com/dataspace/person/kidehen@openlinksw.com&quot; 
INTO GRAPH &lt;http://www.openlinksw.com/&gt;&#39;);

callret
VARCHAR
_______________________________________________________

&lt;?xml version=&quot;1.0&quot; ?&gt;
&lt;rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; 
xmlns:vcard=&quot;http://www.w3.org/2001/vcard-rdf/3.0#&quot; 
xmlns=&quot;http://example.org/book/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; 
xmlns:ns=&quot;http://example.org/ns#&quot;&gt;
&lt;rdf:Description&gt;
&lt;callret-0&gt;LOAD &lt;http://www.openlinksw.com/dataspace/person/kidehen@openlinksw.com&gt; 
INTO GRAPH &lt;http://www.openlinksw.com/&gt; -- done&lt;/callret-0&gt;
&lt;/rdf:Description&gt;
&lt;/rdf:RDF&gt;

1 Rows. -- 1982 msec.
</programlisting><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h4">See Also</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtEvaluatorGuideLinkedDataDeployment">Evaluator Guide for Linked Data Deployment</ulink> </listitem>
<listitem><ulink url="VirtLinkedDataDeploymentTutorialDOAP">Linked Data Deployment DOAP Tutorial</ulink> </listitem>
<listitem>More Examples for <ulink url="VirtTipsAndTricksImportLinkedDataCreateFeature">Create Linked Data Resources using a variety content formats from the RDF family</ulink>: <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtTipsAndTricksImportLinkedDataCreateFeatureNTriples">Create a Linked Data Resource with <emphasis>N-Triples</emphasis> content</ulink> </listitem>
<listitem><ulink url="VirtTipsAndTricksImportLinkedDataCreateFeatureTTL">Create a Linked Data Resource with <emphasis>Turtle</emphasis> content</ulink> </listitem>
<listitem><ulink url="VirtTipsAndTricksImportLinkedDataCreateFeatureRDFXML">Create a Linked Data Resource with <emphasis>RDF/XML</emphasis> content</ulink> </listitem>
<listitem><ulink url="VirtTipsAndTricksImportLinkedDataCreateFeatureRDFA">Create a Linked Data Resource with <emphasis>RDFa</emphasis> content</ulink> </listitem>
</itemizedlist></listitem>
<listitem><ulink url="VirtRDFInsert">RDF Insert Methods in Virtuoso</ulink>.</listitem>
</itemizedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h4"> References</bridgehead>
 <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://www.w3.org/Submission/2003/SUBM-rdf-netapi-20031002/">RDF NET API Specification</ulink> </listitem>
<listitem><ulink url="http://demo.openlinksw.com/tutorial/rdf/">Virtuoso RDF tutorials</ulink></listitem>
</itemizedlist><para> <ulink url="CategoryRDF">CategoryRDF</ulink> <ulink url="CategoryHowTo">CategoryHowTo</ulink> <ulink url="CategoryVirtuoso">CategoryVirtuoso</ulink> <ulink url="CategorySPARQL">CategorySPARQL</ulink> </para>
</section></docbook>