Preliminary Draft of Outline of RuleML Working Note RuleML - Semantic Web Rule Markup Language Version Notes: - http://www.daml.org/listarchive/joint-committee/1287.html - updated versions of the document to be accessible from http://www.ruleml.org/ in the future. - modified by Benjamin Grosof on 08 April 2003, based closely on Working Note Draft of 16 February 2003 Authors: Harold Boley (harold.boley@nrc.gc.ca) Benjamin Grosof (bgrosof@mit.edu) Said Tabet (stabet@attbi.com) Copyright 2000-2003, The RuleML Initiative. Abstract This document describes RuleML, the Rule Markup Language. RuleML is a markup language for publishing and sharing rule bases on the World Wide Web. RuleML builds a hierarchy of rule sublanguages upon XML, RDF, XSLT, OWL, and other W3C languages. Table of Contents Background RuleML Goals, Requirements, and Design Approach goal of interoperability and knowledge integration, Webizing target families of commercially important rule systems: SQL Relational DB's ISO Prolog Production rule systems (from OPS5 to Jess) ECA rules OCL (constraint part of UML) Language Structure Webized Logic: URIrefs for constants, relations, and functions Abstract Syntax to bridge between XML-S syntax, RDF/OWL syntax Hierarchy of expressive classes Example: diamond formed by Datalog, Horn, Datalog+NAF, Horn+NAF Plugging in Different Sets of Built-ins (Relations or Functions) (e.g., ISO Prolog, CommonRules, CommonLogic/KIF, Jess, etc.) The Kernel Datalog Sublanguage URI Constants feature URIrefs for constants, relations, and functions The Horn Sublanguage Complex Terms feature Negation as Failure (NAF) feature (Normal Logic Programs sublanguage) Typical form of negation in practice, ubiquitous in DB Only in body Prioritized Defaults (Courteous LP) Feature Rule labels Mutual-Exclusions (integrity constraints) define scope of conflict Partial order for rule prioritization -- derivable via rules The Object-Oriented Argument Collections feature Non-positional, user-defined meta-roles to name arguments (unlike tuples) Relationship to OWL/RDF, esp. syntax Lloyd-Topor Logic Programs: More First-Order Logic Features Disjunction and conjunction in body Conjunction in head Existentials in body Universals in head Universals in body Negation, essentially only in body Use of skolemization, refutation Rulebases, Queries, and Turnstiles (HB-BG) Relationships to DAML Query, RDF Query, and XML Query Local Modules and Global Inclusions (ST-BG-HB) Modules and Inclusions; Loading external rulebases Reaction Rules (cf. "V1 Draft" of Reaction Rules Subgroup) Notion of Event Notion of Condition (from Derivation Rules) Notion of Action Notion of Postcondition (for declarative state change) Event-Condition-Action-Postcondition (ECAP) Rules The Transformational Sublanguage Function calls that evaluate Reference Implementations Concepts: translation, inferencing and querying, authoring; application XSLT Translators (among sublanguages, to other languages, to (X)HTML) Inference/Query Engines Graphical Editors RuleML-based Applications Use Cases / RuleML-Based Applications (ST-BG-HB) B2B e-Contracting, Rental car policies, Book pricing, Authorization, ... Another document in progress from Joint Committee by Stefan Decker et al Appendices