Attributes | Values |
---|
type
| |
Date Created
| |
Date Modified
| |
label
| - VirtTipsAndTricksDeleteGraphProc
|
maker
| |
Title
| - VirtTipsAndTricksDeleteGraphProc
|
isDescribedUsing
| |
has creator
| |
content
| - %META:TOPICPARENT{name="VirtTipsAndTricksGuide"}%
---+How can I delete graphs using stored procedure?
The following script demonstrates the use of custom stored procedures for deleting graph(s). It first creates a table <code><nowiki>GRAPHS_TO_DELETE</nowiki></code>, into which the names of the graphs to be deleted should be inserted, as follows:
<verbatim>
use MYUSR;
create procedure GRAPHS_TO_DELETE_SP (in gd_iris any)
{
declare gd_iri iri_id;
declare dp, row any;
result_names (gd_iri);
dp := dpipe (0, '__I2IDN');
foreach (varchar iri in GD_IRIS) do
{
dpipe_input (dp, iri);
}
while (0 <> (row := dpipe_next (dp, 0)))
{
result (row[0]);
}
}
;
drop view GRAPHS_TO_DELETE_VIEW;
create procedure view GRAPHS_TO_DELETE_VIEW as MYUSR.DBA.GRAPHS_TO_DELETE_SP (gd_iris) (gd_iri any);
create procedure DELETE_GRAPHS (in g_iris any)
{
declare g_iids any;
if (not isvector (g_iris) and g_iris is not null)
signal ('22023', '.....', 'The input argument must be an array of strings or null');
if (not length (g_iris))
return 0;
delete from DB.DBA.RDF_QUAD where G in (select * from GRAPHS_TO_DELETE_VIEW where gd_iris = g_iris) option (loop exists);
return row_count ();
}
;
</verbatim>
Finally call the procedure <code>DELETE_GRAPHS</code> to perform the deletion of the specified graphs. Note it does not return a result set and can be called as follows:
<verbatim>
SQL> select MYUSR.DBA.DELETE_GRAPHS (vector ('g1', 'g2', 'g3'));
</verbatim>
This will return the number of triples removed from the specified graphs.
<b>Note</b>: the procedure only applies to the cluster so to get IRI IDs via partitioned pipe (DAQ). It is not usable on single.
---+++Related
* [[VirtTipsAndTricksGuide][Virtuoso Tips and Tricks Collection]]
* [[http://docs.openlinksw.com/virtuoso/sparqlextensions.html#rdfsparulexamples14][How can I delete triples from a graph?]]
|
id
| - 09190f0d706b2ea107278c77aac8a874
|
link
| |
has container
| |
http://rdfs.org/si...ices#has_services
| |
atom:title
| - VirtTipsAndTricksDeleteGraphProc
|
links to
| |
atom:source
| |
atom:author
| |
atom:published
| |
atom:updated
| |
topic
| |
is made
of | |
is container of
of | |
is link
of | |
is http://rdfs.org/si...vices#services_of
of | |
is creator of
of | |
is atom:entry
of | |
is atom:contains
of | |