% suggestions wrt roadmap for Rules in the Joint Committee % by Benjamin Grosof % created 5/6/03 % this version 5/27/03 Currently, we have two loosely-coupled efforts: 1. on Rules syntax and expressiveness, starting from RuleML and (to a lesser degree so far) Common Logic as primary points of departure 2. on use cases Both involve analysis of requirements. My suggestions for today address primarily (1.). (2.) should definitely continue and be coordinated increasingly closely with (1.). I suggest several phases, to tackle various issues; see below. I've probably forgotten to include some issues, and quite possibly some more will arise during our design efforts. But I think I've listed at least most of the issues. Phase I: we start with defining: o Datalog Horn logic programs, with URIrefs for predicate etc. logical constants, cf. RuleML; and coordinate/cross-fertilize this with the specification of Datalog Horn FOL in Common Logic. (Datalog here means without logical functions of non-zero arity.) o then Horn without the Datalog restriction Then extend with various additional features cf. RuleML's existing (V0.8) or currently-in-discussion designs, again coordinating this with the specification of Common Logic. Phase II: (taken as subset of what's listed in Phase III below) o built-ins: relatively simple informational only . at least via some standard namespaces and user conventions -- i.e., as part of the rule inferencing environment . i.e., similar to sensors in situated logic programs . e.g., arithmetic, math, list, string operations, similar to what's in ISO Prolog or KIF, also extending some of XML-S datatypes capabilites for specializing usual basic datatypes (e.g., integer ranging 10-100) . could use XML-S datatypes as input-output . issue: might include basic capabilities for sensing/querying remotely over the Web, but this seems more complex and possibly problematic due to its dynamic nature o path syntax, esp. in manner of RDF Query languages' path expressions, and to lesser extent XPath / XQuery path expressions o modules o object-oriented argument collections Phase III: I've organized these into four groups (A,B,C,D below) of issues. A reasonable sequence would be to tackle them in the following order. But one could actually pursue them in nearly any sequence (there are a few dependencies). Group A: Here are some additional features which apply in the pure-belief logically-monotonic case, and thus also pertain straightforwardly to Common Logic as well: o modules: i.e., named rule subsets that can be imported. This is a key Webizing feature. o object-oriented argument collections: called "roli" in RuleML V0.8, often called "slots" in KR literature - related: lists, both ordered and unordered o Lloyd-Topor And-Or: permit AND in the head; also permit OR (nestedly with AND) in the body o sorted/typed variables and constants: where the sort or type is a pure predicate/class rather than (directly and more generally/impurely) a programming language concrete type o explicit equality predicate o basic requests to perform inferencing - query -- related to DQL; there is a simple draft design of this in RuleML V0.8 - "trigger": request incremental or exhaustive forward inferencing - permit new rulebase premises to be sent along with the query or trigger o basic results of inferencing / justifications therein - say that a rulebase entails a set of conclusions, or that an engine/system/site inferred a set of conclusions from a rulebase - called "turnstile" in previous RuleML design discussions - related to DQL and DAML justifications efforts o Lloyd-Topor more monotonic aspects: permit existential quantifiers in the body, universal quantifiers in the head Group B: o rest of FOL in Common Logic: notably quantifiers, classical negation, equivalences. o This is not really rules in the LP sense, but is desirable to coordinate with LP rules, and is technically related to the Lloyd-Topor transformation feature of LP. Group C: Here are some additional features which involve non-monotonicity: o negation-as-failure (NAF) - this is particularly basic and urgent for practical rule systems o Courteous / prioritized conflict handling / prioritized defaults o selective closed-world-assumptions -- can often, or perhaps always, be defined as a special case of NAF or Courteous o strong negation ("classical negation" in the limited sense used in extensions of LP) o full Lloyd-Topor transformation o nonmon specification of equality theory over the Herbrand universe, to generalize away from Unique Names Axiom; e.g., via prioritized defaults about explicit equality predicate Group D: o standard pure-info built-ins; supporting libraries of built-ins, e.g., standard ones for arithmetic, string, or list comparisons or operations - this is particularly basic and urgent for practical rule systems o Situated / procedural attachments: NB: sensing includes an important connection to querying and DQL o Events handling o evaluated functions: i.e., functions that are evaluated, e.g., via built-in procedural attachments - called "nano's" in previous RuleML design discussions Group E: o Transformation rules, in formal sense of what the rules produce - nano's are related - ask Harold for more explanation Phase IV: An OWL meta-ontology of: - expressive features above, - and also of important/frequently-used restrictions, e.g., . stratified use of NAF, . or predicates with arity of at most 2.