RIFRAF analysis of Xcerpt and XChange

Hi,

This email contains the analysis of Xcerpt and XChange following the 
RIFRAF criteria; like Axel, I followed Hassan's scheme.

This is a response to the action recorded as
http://www.w3.org/2005/rules/wg/track/actions/17

Regards,
Paula

---------------------------------------------------------------------------------

Authors of this analysis: Michael Eckert, Paula-Lavinia Patranjan (REWERSE)
 

Xcerpt and XChange: Short description

Xcerpt (http://www.xcerpt.org) and XChange
(http://www.pms.ifi.lmu.de/projekte/xchange/) are research languages
developed at the Institute for Informatics, University of Munich, by
following the logic programming paradigm.

Xcerpt is a Web query language developed primarily for XML data, but
supports also querying RDF data. An Xcerpt program is a set of
deductive rules querying data and constructing new data.

XChange is a Web reactive language working primarily on XML data. An
XChange program is a set of ECA rules specifying the desired reactive
behaviour and Xcerpt deductive rules for constructing views over XML
data (views' data can be queried in the condition part of ECA rules).


Classification of Xcerpt and XChange

===== SYN: SYNTACTIC DISCRIMINATORS =====

SYN.1. RESTRICTED VS. UNRESTRICTED USE OF LOGIC VARIABLES

 SYN.1.1. SINGLE OCCURRENCE VS. MULTIPLE OCCURRENCE (IMPLICIT VARIABLE
     EQUALITY)

 [Xcerpt] multiple occurrence
 [XChange] multiple occurrence

 SYN.1.2. RANGE-RESTRICTED RULES (NO HEAD-ONLY VARIABLES)
          VS. NON-RANGE-RESTRICTED RULES

 [Xcerpt] range-restricted
 [XChange] range-restricted

  SYN.1.3. (FURTHER RESTRICTIONS FROM STATIC ANALYSIS RESEARCH)

 [Xcerpt] stratifiable

SYN.2. PREDICATE VARIABLES PERMITTED VS. NOT PERMITTED

    * SECOND-ORDER SYNTACTIC SUGAR ALLOWING VARIABLES IN PREDICATE
      POSITIONS OF QUERIES OR RULE BODIES AND POSSIBLY RULE HEADS
      (FURTHER GENERALIZED TO FUNCTION AND EVEN ATOM POSITIONS IN
      [HTTP://WWW.W3.ORG/SUBMISSION/SWSF-SWSL/#SWSL-RULES-HILOG])

 [Xcerpt] no
 [XChange] no

 
SYN.3. MONOTONIC LLOYD-TOPOR EXTENSIONS ALLOWED VS. NOT ALLOWED

    * SYNTACTIC SUGAR FOR EXTENDING HORN LOGIC WITH DISJUNCTION IN RULE
      BODIES AS WELL AS CONJUNCTION AND CLASSICAL IMPLICATION IN RULE
      HEADS [HTTP://WWW.W3.ORG/SUBMISSION/SWSF-SWSL/#SWSL-RULES-MON-LT]


 [Xcerpt] only disjunction in rule bodies; note that when grouping
 constructs are used in the head, disjunction cannot rewritten into
 separate rules (example: f[all X] <- g[X] v h[X] is not equivalent to
 f[all X] <- g[X], f[all X] <- h[X])
 [XChange] only disjunction in the condition part of ECA rules; the
 same note as above
 
SYN.4. EXPLICIT VS. IMPLICIT RULE SCOPE

    * ALLOWING FORMULAS AND/OR NAMES DENOTING WHAT HAS BEEN CALLED
      MODULES, CONTEXTS, RULESETS, OR MODELS
      [HTTP://WWW.ISI.EDU/~ARGOS/MATTHEW/TRIPLE_BY_EXAMPLE.HTML]

 [Xcerpt] implicit rule scope
 [XChange] implicit rule scope   

    SYN.4.1. SLOTTED (KEYED, ROLE-NAMED) VS. POSITIONAL ARGUMENTS

        * ALLOWING N-ARY ATOMS WITH A SET OF N 'ATTRIBUTE=VALUE' PAIRS
          AS IN RDF/OWL PROPERTIES, F-LOGIC METHODS, AND OBJECT-ORIENTED
          SYSTEMS [HTTP://WWW.RULEML.ORG/INDOO]

  [Xcerpt] positional arguments tailored to semistructured data,
  slotted as part of data schema possible
  [XChange] positional arguments tailored to semistructured data,
  slotted as part of data schema possible

SYN.5. WEBIZED VS. NON-WEBIZED NAMES

    * ALLOWING URIS AS OIDS FOR CONSTANTS, FUNCTIONS, SLOTS, PREDICATES,
      CLASSES, AND/OR LABELS
      [HTTP://WWW.W3.ORG/2000/10/SWAP/PRIMER.HTML]

 [Xcerpt] namespaces, RDF triples
 [XChange] namespaces, RDF triples
 

===== SES: SYNTACTIC-ENTAILING-SEMANTIC DISCRIMINATORS =====

SES.1. HOMOGENEOUS (BODY HAS SINGLE EXPRESSIVENESS CLASS) VS. HYBRID 
(BODY HAS TWO EXPRESSIVENESS CLASSES) RULES

 [Xcerpt] homogeneous
 [XChange] homogeneous
 
SES.2. FACT-ONLY (DATABASE TABLES) VS. RULE-ONLY VS. FACT-AND-RULE BASES

 [Xcerpt] fact-and-rule bases
 [XChange] fact-and-rule bases
 
SES.2.1. VARIABLE-FUL (NON-GROUND) VS. VARIABLE-FREE (GROUND) FACTS 
(ALSO UNDER "VARIABLE-FUL VS. ... CLAUSES")

 [Xcerpt] variable-free facts
 [XChange]  variable-free facts

SES.3. FUNCTION-FUL (FO HORN LOGIC) VS. FUNCTION-FREE (FO DATALOG)

 [Xcerpt] function-like term structures, non-standard unification
 [XChange] function-like term structures, non-standard unification

 SES.3.1. FUNCTION ARITY/ARITIES
 
 [Xcerpt] n-ary
 [XChange] n-ary

 SES.3.2. FIXED VS. UNFIXED FUNCTION NESTING DEPTH

 [Xcerpt] unfixed
 [XChange] unifixed

 SES.3.3. UNINTERPRETED VS. INTERPRETED FUNCTIONS

 [Xcerpt] uninterpreted in body of rules, aggregation functions are
 interpreted in the head
 [XChange]  uninterpreted in the condition part and event part of
 rules, aggregation functions are interpreted in the action part
 

SES.4. VARIABLE-FUL (NON-GROUND) VS. VARIABLE-FREE (GROUND) CLAUSES

 [Xcerpt] variable-ful clauses
 [XChange] variable-ful clauses

  SES.4.1. VARIABLE-FUL (NON-GROUND) VS. VARIABLE-FREE (GROUND) FACTS
  (ALSO UNDER "FACT-ONLY ... BASES")

 [Xcerpt] variable-free facts
 [XChange] variable-free facts
   

SES.5. PREDICATE ARITY/ARITIES

 [Xcerpt] n-ary
 [XChange] n-ary


SES.6. NUMBER OF PREMISES IN RULES

 [Xcerpt] unrestricted
 [XChange] unrestricted
 
SES.7. LABELED (ANCHORED, OIDED) VS. UNLABELED CLAUSES

 
  SES.7.1. LABELS ALLOWED VS. NOT ALLOWED AS ARGUMENTS OF USER
  PREDICATES

 [Xcerpt] no support here
 [XChange] no support here

  SES.7.2. LABELS ALLOWED VS. NOT ALLOWED AS ARGUMENTS OF
  PRIORITY-GIVING SYSTEM PREDICATE 'OVERRIDES' (CF. SCLP)

 [Xcerpt] no support here
 [XChange] no support here
 

  SES.8. CERTAIN VS. UNCERTAIN CLAUSES AND ATOMS

 [Xcerpt] certain
 [XChange] certain

 
===== SEM: SEMANTIC DISCRIMINATORS =====

 SEM.1. TERMINATING (ALL QUERIES TERMINATE) VS. NON-TERMINATING (AT 
LEAST ONE
    QUERY DOES NOT TERMINATE) RULEBASES

 [Xcerpt] non-terminating in some recursive cases
 [XChange] reactive programs should not terminate, it might be the
 case that some rules are non-terminating (via Xcerpt)

 SEM.2. FINITE-MODEL VS. INFINITE-MODEL RULEBASES (CF. DECIDABILITY)

 [Xcerpt] infinite model
 [XChange] infinite model for constructed data, finite model for events

SEM.3. MODALITY/INTENTIONALITY (BEYOND FOL)

 [Xcerpt] no support
 [XChange] no support
 
===== PRAG: PRAGMATIC DISCRIMINATORS =====

PRAG.1. INFERENCE CONTROL

  PRAG.1.1. FORWARD CHAINING VS. BACKWARD CHAINING VS. BIDIRECTIONAL
  CHAINING

 [Xcerpt] both are possible, backward chaining implemented
 [XChange] not applicable, event part forward chaining (for composite
 events incremental over time) and condition part backward chaining
 
  PRAG.1.2. INCREMENTAL VS. EXHAUSTIVE

 [Xcerpt] exhaustive
 [XChange] incremental
 
  PRAG.2. COMPLEXITY

 [Xcerpt] undecidable, complexity classes for language restrictions
 are investigated (e.g. conjunctive tree and graph queries)
 [XChange] undecidable
 
  PRAG.3. INTEROPERABILITY

   PRAG.3.1. ANNOTATIONS (INCLUDING CONTROLLED ENGLISH)

 [Xcerpt] no
 [XChange] no
 
  PRAG.3.2. TEST CASES

 [Xcerpt] XQuery use cases implemented in Xcerpt
 [XChange] use cases: distributed reactive Web portals with update
 propagation (implemented), (part of) EU-Rent case study (under development)
 
  PRAG.3.3. MAPPINGS
 [Xcerpt] mapping to XQuery
 [XChange] no

Received on Tuesday, 23 May 2006 08:14:03 UTC