Using Rules with Ontologies in The Semantic Web
Upcoming SlideShare
Loading in...5

Using Rules with Ontologies in The Semantic Web






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Using Rules with Ontologies in The Semantic Web Using Rules with Ontologies in The Semantic Web Presentation Transcript

  • 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
  • Rule Languages
    • RuleML
    • SWRL
    • Notation 3 (N3)
  • Semantic Web Reasoners
    • Closed World Machine (CWM)
    • Euler
    • Pychinko
    • RDFEngine
    • Jena
    • A Rule consists of a body (antecedent) and a head (consequent)
    • In N3:
      • {?X :has ?body. ?X :has ?head. :body log:implies :head } => {?X a :Rule }
    • In SWRL’s abstract syntax:
      • 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)))
    Using Rules to Describe Rules
    • Logic Programming
      • Production systems (RETE, etc.)
      • Prolog
      • SQL
    • Horn-clause Logic
      • Efficient theorem proving, and reasoning
    Origin / Background of Rules
    • Kurt Cagle
      • “ You can never eliminate complexity from a system, you can only move it from place to place”
    • Important point regarding how / why rules are used with ontology languages
    Complexity and Abstraction
    • Description Logics (DL)
      • Strict subset of FOL with decidability in mind
    • DL are more palatable and (therefore) more ubiquitous
    • Ontology language constructs correspond to DL constructs
    • Some DL (ontology) reasoning can be done via explicit rules
    DL Semantics as Analogy for Rules
    • Transitive Roles
      • {?P a owl:TransitiveProperty. ?X ?P ?Y. ?Y ?P ?Z } => {?X ?P ?Z}
    • Class inclusion
      • {?B rdfs:subClassOf ?C. ?A rdfs:subClassOf ?B} => {?A rdfs:subClassOf ?C}.
    • Inverse Roles
      • {?P owl:inverseOf ?Q. ?S ?P ?O} => {?O ?Q ?S}.
    • Functional Restrictions
      • {?P a owl:FunctionalProperty. ?S ?P ?X. ?S ?P ?Y} => {?X owl:sameAs ?Y}.
    Some DL Semantics as N3 Rules
    • Certain implications cannot be expressed in DL:
      • “ Individuals who live and work at the same location are ‘Home Workers’”
    • In N3:
      • {?X :work ?Y. ?X :live ?Z. ?Z :located ?W. ?Y :located ?Y} => {?X a :HomeWorker}
    Restriction on Expressivenes
    • Specific logical restrictions (Horn logic) make it difficult to express certain statements:
      • “ Every person has a father (known or unknown)”
    • However, this is straight forward in OWL (and Description Logics):
      • :Person a owl:Class;
      • rdfs:subClassOf [
      • a owl:Restriction;
      • owl:onProperty :father;
      • owl:cardinality “1”.
      • ]
    Restriction on Expressiveness (Cont.)
    • Given:
      • Set of rules
      • Set of facts
    • Backward chaining is goal-oriented:
      • Question: can a fact be inferred from the rules and existing facts?
    • Forward chaining exhaustively infers new facts from the rules
      • The resulting facts combined with the original facts are often referred to as the ‘closure’
    Rule Inference Methods
    • Logic Programming reasoners and algorithms are more mature
      • RETE algorithm for production (forward chaining) systems
      • Euler cycle detection for backward chaining inference
    • Logic Programming systems are at the mercy of the explicit rules
    Concerns with Reasoning
    • Kurt Cagle
      • “ You can never eliminate complexity from a system, you can only move it from place to place”
    • DL abstracts Knowledge Representation at the expense of the reasoning mechanism.
      • DL reasoners are implemented to support only a limited kind of inference: class subsumption and consistency detection.
    Complexity and Abstraction (Revisited)
    • Use DL semantics where the domain falls nicely into Categories / Roles and decidability is an issue
    • Use rules everywhere else
    • The combination covers the full spectrum of expressiveness and decidability
    • Including both in the thought process improves Knowledge Engineering
    • Some DL semantics can be expressed as rules to take advantage of efficient pattern matching algorithms
    • Description Logic Programs: Combining Logic Programs with Description Logic
    • Description Logic Complexity Navigator
    • Web Ontology Reasoning with Logic Databases
    • Euler’s RDF Plus OWL N3 Rules
    • Description Logics as Ontology Languages for the Semantic Web