Skip to the content.

💻 User Guide

Saturating

The main functionality of GSat is to compute the saturation of a set of GTGDs. To do this, download the JAR file available with the releases and use the command line:

java -jar GSat-1.0-SNAPSHOT-jar-with-dependencies.jar -i <TGD file> -o <saturation file>

<TGD file> is a file containing the input GTGDs and <saturation file> is the file in which saturation will be written.

Example

Consider a DLGP file example.dlgp that contains the following two TGDs:

b(X, Y), c(Y) :-  a(X).
d(X) :- b(X, Y), c(Y).

Calling:

java -jar GSat-1.0-SNAPSHOT-jar-with-dependencies.jar -i example.dlgp -o example-sat.dlgp

returns the saturation containing:

b(X, Y), c(Y) :-  a(X).
d(X) :- a(X).

The choice of the saturation algorithm

This project implements different saturation algorithms. You can set the algorithm to use by changing saturation_alg’s value in the file config.properties to either:

Additionally, KAON2 can be used to get the saturation of the set of TGDs in an OWL file using the following command:

java -jar GSat-1.0-SNAPSHOT-jar-with-dependencies.jar -i example.owl -o example-sat.dlgp --kaon2

Running the saturation on Chase Bench

java -jar GSat-1.0-SNAPSHOT-jar-with-dependencies.jar -i <scenario directory> -o example-sat.dlgp -cb