Using Rules with Ontologies in the Semantic Web Chimezie Ogbuji Thoracic and Cardiovascular Surgery Cleveland Clinic Found...
Rule Languages <ul><li>RuleML </li></ul><ul><li>SWRL </li></ul><ul><li>Notation 3 (N3) </li></ul>
Semantic Web Reasoners <ul><li>Closed World Machine (CWM) </li></ul><ul><li>Euler </li></ul><ul><li>Pychinko </li></ul><ul...
<ul><li>A Rule consists of a body (antecedent) and a head (consequent) </li></ul><ul><li>In N3: </li></ul><ul><ul><li>{?X ...
<ul><li>Logic Programming </li></ul><ul><ul><li>Production systems (RETE, etc.) </li></ul></ul><ul><ul><li>Prolog </li></u...
<ul><li>Kurt Cagle </li></ul><ul><ul><li>“ You can never eliminate complexity from a system, you can only move it from pla...
<ul><li>Description Logics (DL)  </li></ul><ul><ul><li>Strict subset of FOL with decidability in mind </li></ul></ul><ul><...
<ul><li>Transitive Roles </li></ul><ul><ul><li>{?P a owl:TransitiveProperty. ?X ?P ?Y. ?Y ?P ?Z } => {?X ?P ?Z} </li></ul>...
<ul><li>Certain implications cannot be expressed in DL: </li></ul><ul><ul><li>“ Individuals who live and work at the same ...
<ul><li>Specific logical restrictions (Horn logic) make it difficult to express certain statements: </li></ul><ul><ul><li>...
<ul><li>Given: </li></ul><ul><ul><li>Set of rules </li></ul></ul><ul><ul><li>Set of facts </li></ul></ul><ul><li>Backward ...
<ul><li>Logic Programming reasoners and algorithms are more mature </li></ul><ul><ul><li>RETE algorithm for production (fo...
<ul><li>Kurt Cagle </li></ul><ul><ul><li>“ You can never eliminate complexity from a system, you can only move it from pla...
<ul><li>Use DL semantics where the domain falls nicely into  Categories  /  Roles  and decidability is an issue </li></ul>...
<ul><li>Description Logic Programs: Combining Logic Programs with Description Logic </li></ul><ul><ul><li>http://citeseer....
Upcoming SlideShare
Loading in...5
×

Using Rules with Ontologies in The Semantic Web

313
-1

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
313
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Using Rules with Ontologies in The Semantic Web

  1. 1. Using Rules with Ontologies in the Semantic Web Chimezie Ogbuji Thoracic and Cardiovascular Surgery Cleveland Clinic Foundation July 25 th , 2006 Presented to W3C HCLSIG ACPP Group
  2. 2. Rule Languages <ul><li>RuleML </li></ul><ul><li>SWRL </li></ul><ul><li>Notation 3 (N3) </li></ul>
  3. 3. Semantic Web Reasoners <ul><li>Closed World Machine (CWM) </li></ul><ul><li>Euler </li></ul><ul><li>Pychinko </li></ul><ul><li>RDFEngine </li></ul><ul><li>Jena </li></ul>
  4. 4. <ul><li>A Rule consists of a body (antecedent) and a head (consequent) </li></ul><ul><li>In N3: </li></ul><ul><ul><li>{?X :has ?body. ?X :has ?head. :body log:implies :head } => {?X a :Rule } </li></ul></ul><ul><li>In SWRL’s abstract syntax: </li></ul><ul><ul><li>Implies(Antecedent(has(I-variable(X), I-variable(body) has(I-variable(X), I-variable(head)) log:Implies(I-variable(body), I-variable(head))) Consequent(Rule(I-variable(X))) </li></ul></ul>Using Rules to Describe Rules
  5. 5. <ul><li>Logic Programming </li></ul><ul><ul><li>Production systems (RETE, etc.) </li></ul></ul><ul><ul><li>Prolog </li></ul></ul><ul><ul><li>SQL </li></ul></ul><ul><li>Horn-clause Logic </li></ul><ul><ul><li>Efficient theorem proving, and reasoning </li></ul></ul>Origin / Background of Rules
  6. 6. <ul><li>Kurt Cagle </li></ul><ul><ul><li>“ You can never eliminate complexity from a system, you can only move it from place to place” </li></ul></ul><ul><li>Important point regarding how / why rules are used with ontology languages </li></ul>Complexity and Abstraction
  7. 7. <ul><li>Description Logics (DL) </li></ul><ul><ul><li>Strict subset of FOL with decidability in mind </li></ul></ul><ul><li>DL are more palatable and (therefore) more ubiquitous </li></ul><ul><li>Ontology language constructs correspond to DL constructs </li></ul><ul><li>Some DL (ontology) reasoning can be done via explicit rules </li></ul>DL Semantics as Analogy for Rules
  8. 8. <ul><li>Transitive Roles </li></ul><ul><ul><li>{?P a owl:TransitiveProperty. ?X ?P ?Y. ?Y ?P ?Z } => {?X ?P ?Z} </li></ul></ul><ul><li>Class inclusion </li></ul><ul><ul><li>{?B rdfs:subClassOf ?C. ?A rdfs:subClassOf ?B} => {?A rdfs:subClassOf ?C}. </li></ul></ul><ul><li>Inverse Roles </li></ul><ul><ul><li>{?P owl:inverseOf ?Q. ?S ?P ?O} => {?O ?Q ?S}. </li></ul></ul><ul><li>Functional Restrictions </li></ul><ul><ul><li>{?P a owl:FunctionalProperty. ?S ?P ?X. ?S ?P ?Y} => {?X owl:sameAs ?Y}. </li></ul></ul>Some DL Semantics as N3 Rules
  9. 9. <ul><li>Certain implications cannot be expressed in DL: </li></ul><ul><ul><li>“ Individuals who live and work at the same location are ‘Home Workers’” </li></ul></ul><ul><li>In N3: </li></ul><ul><ul><li>{?X :work ?Y. ?X :live ?Z. ?Z :located ?W. ?Y :located ?Y} => {?X a :HomeWorker} </li></ul></ul>Restriction on Expressivenes
  10. 10. <ul><li>Specific logical restrictions (Horn logic) make it difficult to express certain statements: </li></ul><ul><ul><li>“ Every person has a father (known or unknown)” </li></ul></ul><ul><li>However, this is straight forward in OWL (and Description Logics): </li></ul><ul><ul><li>:Person a owl:Class; </li></ul></ul><ul><ul><li>rdfs:subClassOf [ </li></ul></ul><ul><ul><li>a owl:Restriction; </li></ul></ul><ul><ul><li>owl:onProperty :father; </li></ul></ul><ul><ul><li>owl:cardinality “1”. </li></ul></ul><ul><ul><li>] </li></ul></ul>Restriction on Expressiveness (Cont.)
  11. 11. <ul><li>Given: </li></ul><ul><ul><li>Set of rules </li></ul></ul><ul><ul><li>Set of facts </li></ul></ul><ul><li>Backward chaining is goal-oriented: </li></ul><ul><ul><li>Question: can a fact be inferred from the rules and existing facts? </li></ul></ul><ul><li>Forward chaining exhaustively infers new facts from the rules </li></ul><ul><ul><li>The resulting facts combined with the original facts are often referred to as the ‘closure’ </li></ul></ul>Rule Inference Methods
  12. 12. <ul><li>Logic Programming reasoners and algorithms are more mature </li></ul><ul><ul><li>RETE algorithm for production (forward chaining) systems </li></ul></ul><ul><ul><li>Euler cycle detection for backward chaining inference </li></ul></ul><ul><li>Logic Programming systems are at the mercy of the explicit rules </li></ul>Concerns with Reasoning
  13. 13. <ul><li>Kurt Cagle </li></ul><ul><ul><li>“ You can never eliminate complexity from a system, you can only move it from place to place” </li></ul></ul><ul><li>DL abstracts Knowledge Representation at the expense of the reasoning mechanism. </li></ul><ul><ul><li>DL reasoners are implemented to support only a limited kind of inference: class subsumption and consistency detection. </li></ul></ul>Complexity and Abstraction (Revisited)
  14. 14. <ul><li>Use DL semantics where the domain falls nicely into Categories / Roles and decidability is an issue </li></ul><ul><li>Use rules everywhere else </li></ul><ul><li>The combination covers the full spectrum of expressiveness and decidability </li></ul><ul><li>Including both in the thought process improves Knowledge Engineering </li></ul><ul><li>Some DL semantics can be expressed as rules to take advantage of efficient pattern matching algorithms </li></ul>Compromise
  15. 15. <ul><li>Description Logic Programs: Combining Logic Programs with Description Logic </li></ul><ul><ul><li>http://citeseer.ist.psu.edu/grosof03description.html </li></ul></ul><ul><li>Description Logic Complexity Navigator </li></ul><ul><ul><li>http://www.cs.man.ac.uk/~ezolin/logic/complexity.html </li></ul></ul><ul><li>Web Ontology Reasoning with Logic Databases </li></ul><ul><ul><li>http://www.ubka.uni-karlsruhe.de/vvv/2004/wiwi/2/2.pdf </li></ul></ul><ul><li>Euler’s RDF Plus OWL N3 Rules </li></ul><ul><ul><li>http://www.agfa.com/w3c/euler/rpo-rules.n3 </li></ul></ul><ul><li>Description Logics as Ontology Languages for the Semantic Web </li></ul><ul><ul><li>http://citeseer.ist.psu.edu/baader03description.html </li></ul></ul>References
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×