ChaseBench input format - ProofDrivenQuerying/pdq GitHub Wiki

The ChaseBench input format

This document reports the description of the ChaseBench common format. Some of this information can also be found on the chasebench format readme page.

Note that this format is only relevant for the reasoning module.

As reported in the Input files document, we can have different input files for describing schemas, dependencies, facts and queries.

Schema

Schemas information are stored in txt files.

For each scenario, there is one file for the source schema (usually ending in .s-schema.txt) and one for the target schema (usually ending in .t-schema.txt).

For each relation in the schema, we have an item like this one:

R {
    a   : INTEGER,
    b   : INTEGER,
    c   : INTEGER
}

We refer to the relations description in the Input files document for a detailed description.

Dependency

Dependencies information are stored in txt files.

There is no requirement that the dependencies must be all located in separate files; however, they are usually organized in such a way for convenience by distinguishing source-to-target TGDs (<name>.st-tgds.txt), target TGDs (<name>.t-tgds.txt), and target EGDs (<name>.t-egds.txt) in three files.

For instance, the TGD:

∀x y [R(x, y) ∧ S(z,1, y) ➞ ∃ z S(y, 2, z)]

is straightforwardly expressed as:

R(?x, ?y), S(?z,1,?y) -> S(?y, 2, ?z) .

We refer to the dependencies description in the Input files document for a detailed description.

Data

Dependencies information are stored in csv files.

Each relation is stored in a separate CSV file, without any header.

For instance, if relation R contains the following data:

a b c
1 2 3
3 4 5

The CSV file will contain:

1,2,3
3,4,5

Query

Dependencies information are stored in txt files.

Each query is stored in a separate file, usually named as the query predicate.

For instance, the CQ:

{ e | ∃ d WorkedIn(22, d) ∧ WorkedIn(e,d) }

is straightforwardly expressed as:

q01(?e) <-  WorkedIn(22, ?d), WorkedIn(?e, ?d) .

We refer to the queries description in the Input files document for a detailed description.

⚠️ **GitHub.com Fallback** ⚠️