230 likes | 304 Views
Design Rationale of RuleML: A Markup Language for Semantic Web Rules. International Semantic Web Working Symposium SWWS-01 30 July - 1 August 2001, Stanford, California, USA. Harold Boley, Said Tabet and Gerd Wagner. Agenda. Introduction and Background
E N D
Design Rationale of RuleML: A Markup Language for Semantic Web Rules International Semantic Web Working Symposium SWWS-01 30 July - 1 August 2001, Stanford, California, USA Harold Boley, Said Tabet and Gerd Wagner The RuleML Initiative, July/August 2001
Agenda • Introduction and Background • The RuleML Initiative as a Web Ontology Effort • Modular Syntax & Semantics of RuleML • RuleML DTDs: release 0.8 • Negation Handling in RuleML • Priorities/Evidences in RuleML • RuleML Implementations via XSLT & Rule Engines • Example: A Semantic Web Scenario in Insurance • Conclusions The RuleML Initiative, July/August 2001
Introduction and Background • Semantic Web rules less studied than corresponding ontology (taxonomy) markup • Rule Markup Initiative fills this gap by exploring rule systems (e.g.,extended Horn logics) suitable for the Web: • Syntax (XML and RDF), semantics, tractability/efficiency, transformation, and compilation RuleML • Derivation rules: may be evaluated bottom-up as in deductive databases, top-down as in logic programming, or by tabled resolution as in XSB • Reaction rules: also called "ECA" -- “Event-Condition-Action" -- or “Trigger" rules • Possible combinations The RuleML Initiative, July/August 2001
The RuleML Initiative as a Web Ontology Effort • RuleML Initiative: started in August 2000 during the Pacific Rim International Conference on Artificial Intelligence (PRICAI 2000) • February/March 2001: First RuleML BOF at W3C Plenary and WG Meeting event • Ontology ‘equation’: Ontology = Taxonomies + Axioms(with Axioms having the form of Rules) gives big picture • System of sublanguages: from RDF-like triples to a labeled Horn logic with equations plus URI individuals and relations The RuleML Initiative, July/August 2001
Modular Syntax & Semantics of RuleML RuleML hierarchy top-level: • Integrity constraints: reaction rules that signal inconsistency when certain conditions are fulfilled • Derivation rules: reaction rules whose action happens to only 'assert' a conclusion when certain conditions (premises) are fulfilled • Facts: derivation rules with empty conjunction of premises The RuleML Initiative, July/August 2001
Modular Syntax & Semantics of RuleML (Cont’d) derivation rules Sublanguage hierarchy: ur-equalog Rooted DAG will be extended with branches for further sublanguages equalog ur-hornlog hornlog ur-datalog ur-datalog = join(ur,datalog) datalog ur urc-datalog bin-datalog URL/URI-like ‘ur’-objects urc-bin-datalog RDF Rules urc-bin-data-ground-log urc-bin-data-ground-fact RDF- like triples The RuleML Initiative, July/August 2001
Modular Syntax & Semantics of RuleML (Cont’d) Separation of concerns: Sublanguage hierarchy: 12 sublanguages together constitute modularized basic RuleML definition. Except 'UR' (URL/URI) group correspond to well-known rule systems, each with semantic (model- and proof-theoretic) characterization Concrete markup: In recent months, RuleML 0.7 DTDs have been developed into RuleML 0.8 DTDs without affecting the above semantics. The new markup uses XML in RDF's 'explicit role-markup' style, relativizing XML's positionality to places where RDF's Seq containers or DAML+OIL lists are used The RuleML Initiative, July/August 2001
RuleML DTDs: release 0.8 RDF-like triple: <fact> <_head> <atom> <_opr><rel href="http://www.eeebizz.com/rdf-sch#Approval"/></_opr> <ind href="http://www.eeebico.org/docs/joint-mission.html"/> <ind>full</ind> </atom> </_head> </fact> Concrete markup: roles Advantage of roles is object-centered modeling: If some item is to be added to a fact or atom, then this is easy to attach, RDF-like Item insertion, XML-like, into child sequence would cause all subsequent children to assume a new position (problem for XSLT) The RuleML Initiative, July/August 2001
Negation Handling in RuleML The Closed-World NegationNOT UML Diagram: IF isPresent(?someCar) AND NOT isAssignedToRentalOrder(?someCar) AND NOT requiresService(?someCar) AND … THENisAvailable(?someCar) The RuleML Initiative, July/August 2001
Negation Handling in RuleML (Cont’d) NOTin RuleML: an example <_body> <and> <atom> <_opr><rel>isPresent</rel></_opr> <var>Car</var> </atom> <not> <atom> <_opr><rel>isAssignedToRentalOrder</rel></_opr> <var>Car</var> </atom></not> . . . </and> </_body> The RuleML Initiative, July/August 2001
Negation Handling in RuleML (Cont’d) Open-World Reasoning withNOTandNEG • NOT = non-truth (or failure) • NEG = falsity • Default rules: IF NOT hasApproval(?URL) THEN NEG isOfficialDocument(?URL) The RuleML Initiative, July/August 2001
Priorities/Evidences in RuleML • Quantitative Priorities: • Static numerical salience • Dynamically calculated priorities • Qualitative Priorities Using the OverridesFact over rule labels The RuleML Initiative, July/August 2001
Priorities/Evidences in RuleML (Cont’d) Static Salience Example: <imp> <_rlab><ind>beginners</ind></_rlab> <_spriority><ind>0.75</ind></_spriority> <_head> ....... </_head> <_body> <atom> <_opr><rel>customerUnder25</rel></_opr> <var>customer</var> </atom> </_body> </imp> The RuleML Initiative, July/August 2001
Priorities/Evidences in RuleML (Cont’d) Dynamic Salience Example: <imp> <_rlab><ind>beginners</ind></_rlab> <_dpriority><rel>calculateSalience</rel></_dpriority> <_head> ....... </_head> <_body> <atom> <_opr><rel>customerUnder25</rel></_opr> <var>customer</var> </atom> </_body> </imp> The RuleML Initiative, July/August 2001
RuleML Implementations via XSLT & RuleEngines • XSLT: • is a Rule Based Language • is a Transformation Tool for RuleML Knowledge Bases (KB): • Using Style sheets to exchange RuleML KBs • Implementations: • With GEDCOM, Mike Dean created the first operational RuleML (0.7) rulebase, where rules on family relationships (child, spouse, etc.) are run via XSLT translators to the XSB, JESS, and N3/cwm engines • With Mandarax RuleML, Jens Dietrich has implemented the first complete input-processing-output environment for RuleML (0.8) The RuleML Initiative, July/August 2001
A Semantic Web Scenario in Insurance A teenager after her first car accident: how much will my premiums increase and how does this accident affect my insurance policy? Principle: Uniform RuleML representation of derivationrules and underlying documentmetadata The RuleML Initiative, July/August 2001
A Semantic Web Scenario in Insurance (Cont’d) <imp> <_rlab><ind>beginners</ind></_rlab> <_spriority><ind>0.75</ind></_spriority> <_head> <atom> <_opr><rel>calculatePremium</rel></_opr> <var>customer</var> <ind>40</ind> </atom> </_head> <_body><and> <atom> <_opr><rel>InsurancePolicy</rel></_opr><var>customer</var><var>insurance</var> </atom> <atom> <_opr><rel>lifeEvent</rel></_opr> <var>customer</var><ind>accident</ind><var>report</var> </atom> <atom> <_opr><rel>customerUnder25</rel></_opr> <var>customer</var> </atom></and> </_body> </imp> The RuleML Initiative, July/August 2001
A Semantic Web Scenario in Insurance (Cont’d) <imp> <_rlab><ind>family</ind></_rlab> <_spriority><ind>0.9</ind></_spriority> <_head> <atom> <_opr><rel>calculatePremium</rel></_opr> <var>customer</var><ind>0</ind> </atom> </_head> <_body><and> <atom> <_opr><rel>InsurancePolicy</rel></_opr> <var>customer</var><var>insurance</var> </atom> <atom> <_opr><rel>lifeEvent</rel></_opr> <var>customer</var><ind>accident</ind><var>report</var> </atom> <atom> <_opr><rel>FamilyAutoPlan</rel></_opr> <var>customer</var><var>familyauto</var> </atom></and> </_body> </imp> The RuleML Initiative, July/August 2001
A Semantic Web Scenario in Insurance (Cont’d) Formalizing the relevant facts • Olivia is under 25 <fact> <_head> <atom> <_opr><rel>customerUnder25</rel></_opr> <ind>Olivia</ind> </atom> </_head> </fact> • Olivia has an insurance policy and this document has link .../IMA-0835: • Olivia is in a family auto plan and this document has link .../FMA-0142: <fact> <_head> <atom> <_opr><rel>InsurancePolicy</rel></_opr> <ind>Olivia</ind> <ind href = “http://www.BostonInsurance.com/policy/IMA-0835” /> </atom> </_head> </fact> • Olivia's accident report is available at TrafficReport.biz: <fact> <_head> <atom> <_opr> <rel>FamilyAutoPlan</rel></_opr> <ind>Olivia</ind> <ind href = “http://www.BostonInsurance.com/policy/FMA-0142” /> </atom> </_head> </fact> <fact> <_head> <atom> <_opr><rel>LifeEvent</rel></_opr> <ind>Olivia</ind> <ind>accident</ind> <ind href = “http://www.TrafficReport.biz/MA/report0712” /> </atom> </_head> </fact> The RuleML Initiative, July/August 2001
A Semantic Web Scenario in Insurance (Cont’d) Conflict Resolution: using Meta facts (a la BRML) <imp> <_rlab> <ind>beginners</ind> </_rlab> . . . </imp> <imp> <_rlab> <ind>family</ind> </_rlab> . . . </imp> <fact> <_head> <atom> <_opr><rel>Overrides</rel></_opr> <ind>family</ind> <ind>beginners</ind> </atom> </_head> </fact> The RuleML Initiative, July/August 2001
A Semantic Web Scenario in Insurance (Cont’d) Conflict Resolution: using Meta facts (a la BRML) <imp> <_rlab> <ind>beginners</ind> </_rlab> . . . </imp> <imp> <_rlab> <ind>family</ind> </_rlab> . . . </imp> <fact> <_head> <atom> <_opr><rel>Overrides</rel></_opr> <ind>family</ind> <ind>beginners</ind> </atom> </_head> </fact> The RuleML Initiative, July/August 2001
Conclusions Ontologies: The big Picture and future RuleML Versions • RuleML rulebases embedded in, or referring to, XML and RDF documents. Using RuleML in other XML namespaces (like for, say, MathML), incl. RDF(S) namespaces (ruleml: namespace prefix) • RuleML rule premises could be DAML+OIL concept descriptions orUML object descriptions • RuleML derivation rules integrated with reaction rules, e.g. Situated LP or ECA Framework (see SpiritSoft Demo) • RuleML and RDF Query talking about a joint Rule and Query effort as part of W3C Ontology Working Group The RuleML Initiative, July/August 2001
Conclusions (Cont’d) Some RuleML events • IJCAI 01: two tutorials, a workshop and an invited talk,August 2001, Seattle, USA • ICEC 01 (International Conference on Ecommerce) panel,November 2001, Vienna, Austria • Dagstuhl seminar on Rule Markup Techniques: February 2002, Schloss Dagstuhl, Germany The RuleML Initiative, July/August 2001