Rameswara Sashi Kiran Challa wrote:
Hello All,
The way I used virtuoso is upload my file containing triples into triple
store and with the Graph IRI I get, do sparql queries on that.
Can I append say a new set of triples related to already existing ones,
like have a common Graph IRI for all the data I push into virtuoso store ??
The way I have been adding adding triples into my triple store was by
using a WebDAV client where in I write the triples into a file and
upload the file into virtuoso.
I get new set of triples say everyday and I want to put them into the
triple store, so how do I have to make sure that I push that data onto
the same graph IRI so that I can query the whole content at once ?
Let's start with a sanity check: if you were using ttlp() to load data from
file, then you could specify multiple files and one destination graph, and
they would all be appended into it:
SQL> ttlp (file_to_string_output ('./foo-1.n3'), '',
'http://mygraph.example.com');
SQL> ttlp (file_to_string_output ('./foo-2.n3'), '',
'http://mygraph.example.com');
...
SQL> sparql select * from <http://mygraph.example.com> where { ?s ?p ?o . };
s p o
http://localhost/ http://purl.org/dc/elements/1.1/title This is from file 1
http://localhost/ http://purl.org/dc/elements/1.1/title This is from file 2
2 Rows. -- 0 msec.
Now, if you insert RDF data by uploading files into WebDAV (eg via cURL), then
the rdf_sink/ collection into which you deposit files needs two properties set
(by code or through browser):
* virt:rdf_graph contains the name of the graph for uploads.
* virt:rdf_sponger points to the upload method (should be 'on')
So if you set virt:rdf_graph to a fixed graph IRI, it should also append data
to that graph.
(See http://www.openlinksw.com/dataspace/dav/wiki/Main/VirtuosoRDFSinkFolder
as well.)
HTH,
~Tim
--
Tim Haynes
Product Development Consultant
OpenLink Software
<http://www.openlinksw.com/>
<http://twitter.com/openlink>