Name
rdfs_rule_set — Adds the applicable facts of the graph into a rule set.
Synopsis
rdfs_rule_set ( |
in rule_name varchar , |
in graph_iri varchar , | |
in remove integer
) ; |
Description
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.
Parameters
rule_name
Rule name (literal that identifies the rule).
graph_iri
A named graph IRI that identifies the source of RDF statements to be used as inference rules,
remove
(0|1 default 0) - where 1 indicates that the specified graph is to be removed from the rule set.
Examples
Example24.280.Simple Usage Example
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 owl:equivalentProperty relation that
enables a processor of this data (e.g., SPARQL Query Processor)
apply reasoning and inference based on the semantics of the
owl:equivalentProperty
relation. Using Virtuoso's SPARQL processor, you can create an
inference rule declaratively via rdfs_rule_set()
:
-- 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');
Example24.281.Create Rule example
Create rule set and verify rule's existence:
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.