Commands for MARS scripts

Description

  1. Query = Compile QueryExpression;
    Compiles a disjunctive query into an internal representation used during the chase.
    Example: disj-view
  2. Query = Chase Query;
    Applies the chase algorithm (extended to disjunction), leading to a tableau that satisfies all the constraints.
    Example: disj-view
  3. Query = First_Sip_Backchase Query;
    Returns the first minimal backchased query plan it finds (i.e. a minimal subquery of the given chased query equivalent to the initial query). Attention, a minimal plan does not necessarily have the "minimum" size. It is minimal in the sense that it cannot be reduced any further. But the union of conjunctive queries that is obtained might contain more queries than the minimum.
    Example: rdfAsSchema10_08_2004_v1
  4. QueryList = Sip_Backchase Query;
    For the time being, it outputs a list containing only the singleton given by First_Sip_Backchase. We are working on a command which will produce a list of all minimal plans.
  5. Translate Query Against RelationsList
    Reformulates the given query so as to use only the given list of relations. If it is not possible, the script execution fails.
  6. MinTranslate Query Against RelationsList
    Similar to the one above, except that it removes from the result queries which are contained in other queries from the resulting union.
    Example: rdfAsSchema10_08_2004_v1
  7. Equiv Query With Query;
    Tests whether the 2 queries are equivalent (over all databases).
    Example: rdf-painters2
  8. Print QueryList;// or Print [Query]; for a singleton
    Example: disj-view
  9. Include "filename";
    Example: rdfAsSchema10_08_2004_v1
    Attention: it can have impact upon the time of the backchase and upon the overall execution time (either up or down).

Comments

We will publish the detailed syntax and semantics when we are closer to a more stable MARS version.
Back to MARS.