Using Rules with Ontologies in the Semantic Web Chimezie Ogbuji Thoracic and Cardiovascular Surgery Cleveland Clinic Foundation July 25th, 2006 Presented to W3C HCLSIG ACPP Group.

Download Report

Transcript Using Rules with Ontologies in the Semantic Web Chimezie Ogbuji Thoracic and Cardiovascular Surgery Cleveland Clinic Foundation July 25th, 2006 Presented to W3C HCLSIG ACPP Group.

Using Rules with Ontologies in the Semantic
Web
Chimezie Ogbuji
Thoracic and Cardiovascular Surgery
Cleveland Clinic Foundation
July 25th, 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
Using Rules to Describe Rules
• 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), Ivariable(body) has(I-variable(X), Ivariable(head)) log:Implies(I-variable(body), Ivariable(head))) Consequent(Rule(Ivariable(X)))
Origin / Background of Rules
• Logic Programming
• Production systems (RETE, etc.)
• Prolog
• SQL
• Horn-clause Logic
• Efficient theorem proving, and reasoning
Complexity and Abstraction
• 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
DL Semantics as Analogy for Rules
• 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
Some DL Semantics as N3 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}.
Restriction on Expressivenes
• 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 Expressiveness (Cont.)
• 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”.
]
Rule Inference Methods
• 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’
Concerns with Reasoning
• 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
Complexity and Abstraction (Revisited)
• 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.
Compromise
• 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
References
• Description Logic Programs: Combining Logic Programs
with Description Logic
• http://citeseer.ist.psu.edu/grosof03description.html
• Description Logic Complexity Navigator
• http://www.cs.man.ac.uk/~ezolin/logic/complexity.html
• Web Ontology Reasoning with Logic Databases
• http://www.ubka.uni-karlsruhe.de/vvv/2004/wiwi/2/2.pdf
• Euler’s RDF Plus OWL N3 Rules
• http://www.agfa.com/w3c/euler/rpo-rules.n3
• Description Logics as Ontology Languages for the
Semantic Web
• http://citeseer.ist.psu.edu/baader03description.html