rdf support in oracle rdbms · 2005-07-12 · rdf support in oracle rdbms souripriya das, ph.d....
TRANSCRIPT
![Page 1: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/1.jpg)
RDF Support in Oracle RDBMS
Souripriya Das, Ph.D.Consultant Member of Technical Staff
Oracle New England Development Center
![Page 2: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/2.jpg)
Overview
Three types of database objects Model RDF graph consisting of a set of triples Rulebase Set of (user-defined) rules Rule Index Entailed RDF graph
We discuss following aspects for each type of object DDL DML Views Security
RDF Query (with Inference)
![Page 3: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/3.jpg)
RDF Models
![Page 4: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/4.jpg)
Model: Overview
Each RDF Model (graph) consists of a set oftriples
A triple (statement) consists of threecomponents
– Subject URI or blank node– Predicate URI– Object URI or literal or blank node
A statement itself can be a resource (allowingnested graphs)
![Page 5: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/5.jpg)
Model: Example
Family:(:John :brotherOf :Mary)(:John :age “16”^^xsd:Integer)(:Mary :parentOf :Matt)(:John :name “John”)(:Mary :name “Mary”)
Reification:(:John :thinks _:S1)(_:S1 rdf:subject :Sue)(_:S1 rdf:predicate :livesIn)(_:S1 rdf:object “NYC”)
:John
:Mary
brotherOf
:Matt
16
parentOf
age
:Sue NYClivesIn
thinks
![Page 6: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/6.jpg)
RDF Query
![Page 7: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/7.jpg)
SDO_RDF_MATCH Table FuncArguments
– Graph pattern
A sequence of triple patternsTriple patterns typically use variables
– RDF Data set a set of models– Filter– Aliases
…FROM TABLE(SDO_RDF_MATCH( ‘(?x :brotherOf ?y) (?y :parentOf ?z)’, SDO_RDF_Models(‘family’), … )) t…
![Page 8: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/8.jpg)
SDO_RDF_MATCH: returnColumns (of type VARCHAR2) in each returned row:For each variable ?x in Graph Pattern
– x– x$rdfVTYP
URI, Literal, Blank node– x$rdfLTYP
Specific literal type (e.g., xsd:integer)– x$rdfCLOB
Contains actual value, if ?x matches a CLOB value– x$rdfLANG
Language tag, if any (e.g., “en-us”)
If no variable in Graph Pattern– A dummy column
![Page 9: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/9.jpg)
SDO_RDF_MATCH: matching
Matching multiple representations
The same point in value space may havemultiple representations
– “10”^^xsd:Integer
– “10”^^xsd:PositiveInteger
– “010”^^xsd:Integer
– “000010”^^xsd:Integer
SDO_RDF_MATCH automatically resolvesthese
![Page 10: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/10.jpg)
RDF Query: Example
Find salary and hiredate of all the unclesSELECT emp.name, emp.salary, emp.hiredate
FROM emp, TABLE(SDO_RDF_MATCH( ‘(?x :brotherOf ?y) (?y :parentOf ?z) (?x :name ?name)’, SDO_RDF_Models(‘family'), …)) tWHERE emp.name=t.name;
Use of SDO_RDF_MATCH allows embedding agraph query in a SQL query
![Page 11: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/11.jpg)
RDF Query: Example 2
Find pairs of persons residing at the sameaddress where the first person rents a truck andthe second person buys a fertilizer
SELECT t3.x name1, t3.y name2FROM AddrTable t1, AddrTable t2, TABLE(SDO_RDF_MATCH( ‘(?x :rents ?a) (?a rdf:type :Truck) (?y :buys ?b) (?b rdf:type :Fertilizer)’, SDO_RDF_Models(‘Activities'), …)) t3WHERE t1.name=t3.x and t2.name=t3.y and t1.addr=t2.addr;
![Page 12: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/12.jpg)
RDF Rulebases
![Page 13: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/13.jpg)
Rulebase: Overview
Each RDF rulebase consists of a set of rules
Each rule consists of– antecedent: graph-pattern
– filter condition (optional)
– Consequent: graph-pattern
One or more rulebases may be used withrelevant RDF models (graphs) to obtainentailed graphs
![Page 14: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/14.jpg)
Rulebase: Example
Rules in a rulebase family_rb:Antecedent: ‘(?x :brotherOf ?y) (?y :parentOf ?z)’Filter: NULLConsequent: ‘(?x :uncleOf ?z)’
Antecedent: ‘(?x :age ?a)’Filter: ‘a >= 65’Consequent: ‘(?x :ageGroup “Senior”)’
Antecedent: ‘(?x :parentOf ?y) (?y :parentOf ?z)’Filter: NULLConsequent: ‘(?x :grandParentOf ?z)’
![Page 15: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/15.jpg)
RDF Rule Indexes
![Page 16: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/16.jpg)
Rule Index: Overview
A rule index represents an entailed graph
A rule index is created on an RDF dataset(consisting of a set of RDF models and a setof RDF rulebases)
![Page 17: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/17.jpg)
Rule Index: Example
A rule index may be created on a datasetconsisting of
– family RDF data, and
– family_rb rulebase (shown earlier)
The rule index will contain inferred triplesshowing uncleOf and ageGroup information
![Page 18: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/18.jpg)
RDF Query with Inference
![Page 19: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/19.jpg)
SDO_RDF_MATCH withRulebasesArguments
– Graph patternA sequence of triples (with variables)
– RDF Data seta set of modelsa set of rulebases
– Filter– Aliases
…FROM TABLE(SDO_RDF_MATCH( ‘(?x :uncleOf ?y)’, SDO_RDF_Models(‘family’), SDO_RDF_Rulebases (‘rdfs’, ‘family_rb’) … )) t…
![Page 20: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/20.jpg)
RDF Query w/ Inference:ExampleFind salary and hiredate of all the
uncles SELECT emp.name, emp.salary, emp.hiredate
FROM emp, TABLE(SDO_RDF_MATCH( ‘(?x :uncleOf ?y) (?x :name ?name)’, SDO_RDF_Models(‘family'), SDO_RDF_Rulebases(‘rdfs’, ‘family_rb'), …)) tWHERE emp.name=t.name;
![Page 21: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/21.jpg)
RDF Query w/ Inference:Example 2Find pairs of persons residing at the same
address where the first person rents a truck andthe second person buys a fertilizer
SELECT t3.x name1, t3.y name2FROM AddrTable t1, AddrTable t2, TABLE(SDO_RDF_MATCH( ‘(?x :rents ?a) (?a rdf:type :Truck) (?y :buys ?b) (?b rdf:type :Fertilizer)’, SDO_RDF_Models(‘Activities'), SDO_RDF_Rulebases(‘rdfs’), …)) t3WHERE t1.name=t3.x and t2.name=t3.y and t1.addr=t2.addr;
![Page 22: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/22.jpg)
RDF Models
![Page 23: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/23.jpg)
Model: DDL
Procedures provided as part of the API may be usedto
– Create a model– Drop a model
When a user creates a model, a database view getscreated automatically
– rdfm_family
A model corresponds to a column of typeSDO_RDF_TRIPLE_S in a base table
Each model has exactly one base table associatedwith it
![Page 24: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/24.jpg)
Model: DDL Creating a Model
Create an Application TableCREATE TABLE family_table (
id NUMBER, family_triple SDO_RDF_TRIPLE_S);
Create a ModelEXEC SDO_RDF.CREATE_RDF_MODEL(
‘family’, ‘family_table’,‘family_triple’);
Automatically creates the following databaseview
rdfm_family (…)
![Page 25: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/25.jpg)
Loading RDF Data into Oracle
Java API provided to load NTriple into NDM
Sample XSLs provided– To convert RDF to NTriple
– To convert RDF to INSERT statements
![Page 26: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/26.jpg)
Model: DML
SQL DML commands may be used to do DMLoperations on a base table to effect DML (i.e., tripleinsert, delete, and update) on the correspondingmodel
Insert Triples INSERT INTO family_table VALUES (1, SDO_RDF_TRIPLE_S(‘family',
'<http://example.org/family/John>','<http://example.org/family/brotherOf>',‘<http://example.org/family/Mary>'));
![Page 27: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/27.jpg)
Model: Security
The creator of the base table corresponding to amodel can grant privileges to other users
To perform DML to a model, a user must have DMLprivileges for the corresponding base table
The creator of a model can grant QUERY privilegeson the corresponding database view to other users
A user can query only those models for which s/hehas QUERY privileges to the corr. database views
Only the creator of a model can drop the model
![Page 28: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/28.jpg)
Model: Views
Database views corresponding to the models
![Page 29: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/29.jpg)
RDF Rulebases
![Page 30: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/30.jpg)
Rulebase: DDL
Procedures provided as part of the API maybe used to
– Create a rulebasecreate_rulebase('family_rb');
– Drop a rulebase– drop_rulebase('family_rb');
When a user creates a rulebase, a databaseview gets created automatically
– rdfr_family_rb (rule_name, antecedent, filter, consequent, aliases)
![Page 31: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/31.jpg)
Rulebase: DML
SQL DML commands may be used on thedatabase view corresponding to a targetrulebase to insert, delete, and update rules
insert into mdsys.rdfr_family_rb values( ‘uncle_rule', ‘(?x :brotherOf ?y) (?y :parentOf ?z)’, NULL, '(?x :uncleOf ?z)', SDO_RDF_Aliases(…));
![Page 32: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/32.jpg)
Rulebase: Security
Creator of a rulebase can grant privileges tothe corresponding database view to otherusers
Performing DML operations requires invokerto have appropriate privileges on the databaseview
Only the creator of a rulebase can drop therulebase
![Page 33: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/33.jpg)
Rulebase: Views
RDF_RULEBASE_INFO– Contains the list of rulebases
– For each rulebase, contains additionalinformation (such as, creator, view name, etc)
Content of each rulebase is available from thecorresponding database view
![Page 34: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/34.jpg)
RDF Rule Indexes
![Page 35: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/35.jpg)
Rule Index: DDL
Procedures provided as part of the API may be usedto
– Create a rule indexcreate_rules_index ('family_rb_rix_family‘, SDO_RDF_Models('family'), SDO_RDF_Rulebases(‘rdfs','family_rb'));
– Drop a rule indexdrop_rules_index ('family_rb_rix_family');
When a user creates a rule index, a database viewgets created automatically
– rdfi_family_rb_rix_family (…)
![Page 36: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/36.jpg)
Rule Index: Security
To create a rule index on an RDF dataset(models and rulebases), user needs to haveQUERY privileges on those models andrulebases
Creator of a rule index holds QUERY privilegeon the rule index and may grant this privilegeto other users
Only the creator of a rule index can drop it
![Page 37: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/37.jpg)
Rule Index: Views
RDF_RULEINDEX_INFO– Contains the list of rule indexes
– For each rule index, contains additionalinformation (such as, creator, status, etc)
RDF_RULEINDEX_DATASETS– For every rule index, stores the names of its
models and rulebases
![Page 38: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/38.jpg)
Rule Index: Dependencies
Content of a rule index depends upon thecontent of each element of its dataset
– Any modification to the models or rulebases in itsdataset invalidates the rule index
– Dropping a model or rulebase will dropdependent rule indexes automatically.
![Page 39: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/39.jpg)
Summary
RDF Data Model– Models (Graphs)
– RDF Query using SDO_RDF_MATCH Table Function
RDF Data Model with (user-defined) Rules– Models (Graphs)
– Rulebases
– Rule Indexes
– RDF Query on entailed RDF graphs
Management (DDL, DML, Security, …)– Models, Rulebases, and Rule Indexes
![Page 40: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/40.jpg)
RDF Data Model Demo
![Page 41: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/41.jpg)
Demo: Family Schema
![Page 42: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/42.jpg)
Demo: Family Schema 2
![Page 43: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/43.jpg)
Demo: Family Model Data
![Page 44: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/44.jpg)
Demo: Family Model Data (Alt)
![Page 45: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/45.jpg)
Demo: Query without Inferenceselect m from TABLE(SDO_RDF_MATCH(
'(?m rdf:type :Male)',
SDO_RDF_Models('family'),
null,
SDO_RDF_Aliases(
SDO_RDF_Alias('', 'http://www.example.org/family/')),
null));
M
--------------------------------------------------------------------------------
http://www.example.org/family/Jack
http://www.example.org/family/Tom
![Page 46: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/46.jpg)
Demo: Query w/ RDFS Inferenceselect m from TABLE(SDO_RDF_MATCH(
'(?m rdf:type :Male)',
SDO_RDF_Models('family'),
SDO_RDF_Rulebases(‘RDFS’),
SDO_RDF_Aliases(
SDO_RDF_Alias('', 'http://www.example.org/family/')),
null));
M
--------------------------------------------------------------------------------
http://www.example.org/family/Jack
http://www.example.org/family/Tom
http://www.example.org/family/John
http://www.example.org/family/Matt
http://www.example.org/family/Sammy
![Page 47: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/47.jpg)
Demo: Family Rulebase
Antecedent: ‘(?x :parentOf ?y) (?y :parentOf ?z)’
Filter: NULL
Consequent: ‘(?x :grandParentOf ?z)’
![Page 48: RDF Support in Oracle RDBMS · 2005-07-12 · RDF Support in Oracle RDBMS Souripriya Das, Ph.D. Consultant Member of Technical Staff Oracle New England Development Center. Overview](https://reader030.vdocuments.site/reader030/viewer/2022040116/5ec718af47232b61d70ff29a/html5/thumbnails/48.jpg)
Demo: Query w/ Family and RDFSInference
select x, y from TABLE(SDO_RDF_MATCH(
'(?x :grandParentOf ?y) (?x rdf:type :Male)',
SDO_RDF_Models('family'),
SDO_RDF_Rulebases('RDFS','family_rb'),
SDO_RDF_Aliases(
SDO_RDF_Alias('','http://www.example.org/family/')),
null));
X Y
------------------------------------------------------ -----------------------------------------------------
http://www.example.org/family/John http://www.example.org/family/Cindy
http://www.example.org/family/John http://www.example.org/family/Tom
http://www.example.org/family/John http://www.example.org/family/Jack
http://www.example.org/family/John http://www.example.org/family/Cathy