Commands for MARS scripts
Description
-
Query = Compile QueryExpression;
Compiles a disjunctive query into an internal representation used during the chase.
Example: disj-view
-
Query = Chase Query;
Applies the chase algorithm (extended to disjunction), leading to a tableau that satisfies
all the constraints.
Example: disj-view
-
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
-
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.
-
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.
-
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
-
Equiv Query With Query;
Tests whether the 2 queries are equivalent (over all databases).
Example: rdf-painters2
-
Print QueryList;// or Print [Query]; for a singleton
Example: disj-view
-
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.