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 127
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
-
- This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
- project.
-
- Copyright (C) 1998-2018 OpenLink Software
-
- This project is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; only version 2 of the License, dated June 1991.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-->
<refentry id="fn_rdfs_rule_set">
<refmeta>
<refentrytitle>rdfs_rule_set</refentrytitle>
<refmiscinfo>rdf</refmiscinfo>
</refmeta>
<refnamediv>
<refname>rdfs_rule_set</refname>
<refpurpose>Adds the applicable facts of the graph into a rule set.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis id="fsyn_rdfs_rule_set">
<funcprototype id="fproto_rdfs_rule_set">
<funcdef><function>rdfs_rule_set</function></funcdef>
<paramdef><optional>in <parameter>rule_name</parameter> varchar</optional></paramdef>
<paramdef><optional>in <parameter>graph_iri</parameter> varchar</optional></paramdef>
<paramdef><optional>in <parameter>remove</parameter> integer</optional></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="desc_rdfs_rule_set"><title>Description</title>
<para>This function associates a rule-name with a source named graphs identified by a named graph IRI.
This named graph is contains RDF statements that constitute the desired inference rule to be created.
You can use this procedure to add RDF statements from other named graphs as part as part of a
rule-enhancement effort.</para>
</refsect1>
<refsect1 id="params_rdfs_rule_set">
<title>Parameters</title>
<refsect2>
<title>rule_name</title>
<para>Rule name (literal that identifies the rule).</para>
</refsect2>
<refsect2>
<title>graph_iri</title>
<para>A named graph IRI that identifies the source of RDF statements to be used as inference rules,</para>
</refsect2>
<refsect2>
<title>remove</title>
<para>(0|1 default 0) - where 1 indicates that the specified graph is to be removed from the rule set.</para>
</refsect2>
</refsect1>
<refsect1 id="examples_rdfs_rule_set">
<title>Examples</title>
<example id="ex_rdfs_rule_set1">
<title>Simple Usage Example</title>
<para>Google and Bloomberg Stock Quote Services return HTML5+Microdata based Linked Open Data using terms from Schema.org.
As will be quite common, there is a case sensitive issue in regards to the HTTP URIs that identify the "Financial Quote" class.
For Bloomberg we have: <http://schema.org/intangible/financialquote> and for Google:
<http://schema.org/Intangible/FinancialQuote> . What follows in an <emphasis>owl:equivalentProperty</emphasis>
relation that enables a processor of this data (e.g., SPARQL Query Processor) apply reasoning and inference based on
the semantics of the <emphasis>owl:equivalentProperty</emphasis> relation. Using Virtuoso's SPARQL processor, you can
create an inference rule declaratively via <link linkend="fn_rdfs_rule_set"><function>rdfs_rule_set()</function></link>:</para>
<programlisting><![CDATA[
-- Suppose a ttl file inference-rule-for-stock-quotes.ttl has the following content:
<http://schema.org/intangible/financialquote>
owl:equivalentProperty <http://schema.org/Intangible/FinancialQuote> .
-- Load the data to a Named Graph that's implicitly (in the case of Virtuoso)
-- identified by the RDF Document URL that contains the RDF statements that
-- constitute the rule being created
SQL> LOAD <http://example.com/inference-rule-for-stock-quotes.ttl> ;
Done. -- 15 msec.
-- Via SQL run the procedure:
SQL> RDFS_RULE_SET ('schema_stock_quotes', 'http://example.com/inference-rule-for-stock-quotes.ttl');
]]></programlisting>
</example>
<example id="ex_rdfs_rule_set2">
<title>Create Rule example</title>
<para>Create rule set and verify rule's existence:</para>
<programlisting><![CDATA[
SQL> rdfs_rule_set('myset', 'http://mygraph.com');
Done. -- 15 msec.
SQL> SELECT * FROM DB.DBA.SYS_RDF_SCHEMA ;
RS_NAME RS_URI RS_G
VARCHAR NOT NULL VARCHAR NOT NULL VARCHAR
_______________________________________________________________________________
http://example.com/dataspace http://example.com/dataspace/inf NULL
http://www.w3.org/2002/07/owl# http://www.w3.org/2002/07/owl# NULL
myset http://mygraph.com NULL
virtrdf-ifp virtrdf-ifp NULL
virtrdf-label virtrdf-label NULL
virtrdf-meta-entity-class http://www.openlinksw.com/schemas/virtrdf-meta-entity-class NULL
7 Rows. -- 0 msec.
]]></programlisting>
</example>
</refsect1>
<refsect1 id="seealso_rdfs_rule_set">
<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"><function>DB.DBA.SPARQL_REXEC()</function></link></para>
<para><link linkend="fn_sparql_rexec_to_array"><function>DB.DBA.SPARQL_REXEC_TO_ARRAY()</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_rdf_quad_uri_l"><function>DB.DBA.RDF_QUAD_URI_L()</function></link></para>
<para><link linkend="fn_rdf_quad_uri_l_typed"><function>DB.DBA.RDF_QUAD_URI_L_TYPED()</function></link></para>
<para><link linkend="fn_rdf_ttl2hash"><function>DB.DBA.RDF_TTL2HASH()</function></link></para>
</refsect1>
</refentry>
|