1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry id="fn_sparql_rexec">
<refmeta>
<refentrytitle>DB.DBA.SPARQL_REXEC</refentrytitle>
<refmiscinfo>rdf</refmiscinfo>
</refmeta>
<refnamediv>
<refname>DB.DBA.SPARQL_REXEC</refname>
<refpurpose>Remote execution of SPARQL via SPARQL protocol, produces a result set of SQL values.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis id="fsyn_sparql_rexec">
<funcprototype id="fproto_sparql_rexec">
<funcdef><function>DB.DBA.SPARQL_REXEC</function></funcdef>
<paramdef>in <parameter>service </parameter> varchar</paramdef>
<paramdef>in <parameter>query</parameter> varchar</paramdef>
<paramdef>in <parameter>dflt_graph</parameter> varchar</paramdef>
<paramdef>in <parameter>named_graphs</parameter> any</paramdef>
<paramdef>in <parameter>req_hdr</parameter> any</paramdef>
<paramdef>in <parameter>maxrows</parameter> integer</paramdef>
<paramdef>in <parameter>bnode_dict</parameter> any</paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="desc_sparql_rexec">
<title>Description</title>
<para>Remote execution of SPARQL via SPARQL protocol, produces a result set of SQL values.</para>
</refsect1>
<refsect1 id="params_sparql_rexec">
<title>Parameters</title>
<refsect2><title>service</title>
<para>service URI to call via HTTP.</para>
</refsect2>
<refsect2><title>query</title>
<para>text of SPARQL query to execute.</para>
</refsect2>
<refsect2><title>dflt_graph</title>
<para>default graph IRI, if not NULL then this overrides what is specified in query</para>
</refsect2>
<refsect2><title>named_graphs</title>
<para>vector of named graph IRIs, if not NULL then this overrides what is specified in query</para>
</refsect2>
<refsect2><title>req_hdr</title>
<para>additional HTTP header lines that should be passed to the service; 'Host: ...' is most popular.</para>
</refsect2>
<refsect2><title>maxrows</title>
<para>limit on numbers of rows that should be returned.</para>
</refsect2>
<refsect2><title>bnode_dict</title>
<para>dictionary of bnode ID references.</para>
</refsect2>
</refsect1>
<refsect1 id="ret_sparql_rexec"><title>Return Types</title>
<para>any</para>
</refsect1>
<!--
<refsect1 id="errors_sparql_rexec">
<title>Errors</title>
<para>This function can generate the following errors:</para>
<errorcode></errorcode>
</refsect1>
-->
<refsect1 id="examples_sparql_rexec">
<title>Examples</title>
<example id="ex_sparql_rexec"><title></title>
<para></para>
<screen><![CDATA[
create procedure SPARQL_TEST (in rquri varchar, in graph_uri varchar, in resuri varchar, in in_result integer := 0)
{
declare REPORT varchar;
declare rqtext, sqltext varchar;
declare app_env any;
declare rset, row any;
declare etalon_vars, etalon_rowids, etalon_rows any;
declare rctr, rcount integer;
declare copyright_filter any;
if (not in_result)
result_names (REPORT);
result ('');
declare exit handler for sqlstate '*' {
...
};
...
rqtext := replace (cast (XML_URI_GET ('', rquri) as varchar), '# \044Id:', '# Id:');
declare rexec_stat, rexec_msg varchar;
declare bnode_dict, rexec_rmeta, rexec_rrows any;
rexec_stat := '00000';
rexec_msg := 'OK';
bnode_dict := dict_new ();
rexec_rrows := null;
exec (
'DB.DBA.SPARQL_REXEC (?, ?, ?, ?, ?, ?, ?)',
rexec_stat, rexec_msg,
vector (
WB_CFG_HTTP_URI() || '/sparql/',
rqtext,
graph_uri,
vector (),
'',
10000,
bnode_dict ),
10000, rexec_rmeta, rexec_rrows );
if (not isarray (rexec_rrows))
rexec_rrows := null;
result (sprintf ('Remote exec of %s', rquri));
dump_large_text_impl (
sprintf (' completed with state %s msg %s and %d rows',
rexec_stat, rexec_msg, length (rexec_rrows) ) );
result ('PASSED');
};
]]></screen>
</example>
</refsect1>
<refsect1 id="seealso_sparql_rexec">
<title>See Also</title>
<para><link linkend="fn_rdf_audit_metadata"><function>DB.DBA.RDF_AUDIT_METADATA</function></link></para>
<para><link linkend="fn_rdf_backup_metadata"><function>DB.DBA.RDF_BACKUP_METADATA</function></link></para>
<para><link linkend="fn_rdf_load_rdfxml_mt"><function>DB.DBA.RDF_LOAD_RDFXML_MT</function></link></para>
<para><link linkend="fn_ttlp"><function>DB.DBA.TTLP</function></link></para>
<para><link linkend="fn_ttlp_mt"><function>DB.DBA.TTLP_MT</function></link></para>
<para><link linkend="fn_rdf_triples_to_rdf_xml_text"><function>DB.DBA.RDF_TRIPLES_TO_RDF_XML_TEXT</function></link></para>
<para><link linkend="fn_sparql_rexec_with_meta"><function>DB.DBA.SPARQL_REXEC_WITH_META</function></link></para>
<para><link linkend="fn_sparql_rexec_to_array"><function>DB.DBA.SPARQL_REXEC_TO_ARRAY</function></link></para>
</refsect1>
</refentry>
|