Hello Anton,

The common practice is to compose a dictionary of triples to be deleted,
using SPARQL construct statement, then convert the dictionary into array
then pass the array as a parameter to RDF_DELETE_TRIPLES.

create procedure DELETE_PERSONAL_DATA (in foaf_graph varchar)
{
  declare pdata_dict, pdata_array any;
  pdata_dict := ((sparql construct { ?s ?p ?o }
      where { graph ?:foaf_graph { ?s ?p ?o . ?s rdf:type
<http://xmlns.com/foaf/0.1/Person> } } ));
  pdata_array := dict_list_keys (pdata_dict, 1);
  RDF_DELETE_TRIPLES (foaf_graph, pdata_array);
};

DELETE_PERSONAL_DATA
('http://local.virt/DAV/sparql_demo/data/data-xml/source-simple2/source-data
-01.rdf');

But in most cases the application deletes from RDF_QUAD by using simple
filters like
delete from DB.DBA.RDF_QUAD where G = DB.DBA.RDF_MAKE_IID_OF_QNAME
('http://local.virt/DAV/sparql_demo/data/data-xml/source-simple2/source-data
-01.rdf');

I'll add the above sample to the User's Guide if you find it useful.

Best Regards,
Ivan Mikhailov,
OpenLink Software. www.openlinksw.com

-----Original Message-----
From: virtuoso-users-boun...@lists.sourceforge.net
[mailto:virtuoso-users-boun...@lists.sourceforge.net] On Behalf Of Anton
Krasovsky
Sent: Friday, August 04, 2006 5:26 AM
To: virtuoso-users@lists.sourceforge.net
Subject: [Virtuoso-users] Removing triples from store

Hi,

Is there any examples using RDF_DELETE_TRIPLES?

I'm looking for API to add/remove individual triples from store, so far I
was able to add triples using RDF_QUAD_URI/RDF_QUAD_URI_L but its a bit
unclear how to remove triples.

Regards,
Anton


Reply via email to