💻 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:
- gsat(default)- corresponding to ExbDRin the article
 
- corresponding to 
- skolem_sat- corresponding to SkolemDR
 
- corresponding to 
- hyper_sat- corresponding to HyperDR
 
- corresponding to 
- simple_sat- corresponding to SimDR
 
- corresponding to 
- ordered_skolem_sat- also called KAON3
 
- also called 
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