build project by running
./gradlew shadowJar
you can only modifying the PDDL domain by inserting TBox axioms, only modifying the PDDL problem by inserting ABox axioms or both
run insertion of OWL axioms into PDDL with
./OWLToPDDL.sh --owl=<inputOWL> --tBox --inDomain=<inputPDDLdomain> --outDomain=<outputPDDLdomain> [OPTIONS]
./OWLToPDDL.sh --owl=<inputOWL> --aBox --inProblem=<inputPDDLproblem> --outProblem=<outputPDDLproblem> [OPTIONS]
./OWLToPDDL.sh --owl=<inputOWL> --tBox --inDomain=<inputPDDLdomain> --outDomain=<outputPDDLdomain> --aBox --inProblem=<inputPDDLproblem> --outProblem=<outputPDDLproblem> [OPTIONS]
run ./OWLToPDDL.sh -h
to see all options.
To speed up updating the problem file, i.e. in settings where only the input PDDL problem file has changed but the domain file and the ontology stay the same, one can export the aBox axioms from the ontology that need to be added to the problem file for later usage. This saves time when the problem file needs to be updated, as the ontology does not need to be loaded anymore. Use the following to export the additions to a file you like:
java -jar build/libs/dlToPlanning-1.0-SNAPSHOT-all.jar --owl=<inputOWL> --export-problem-additions --problem-additions=<exportedAdditions>
Use the following to update the created problem file:
java -jar build/libs/dlToPlanning-1.0-SNAPSHOT-all.jar --aBox --inProblem=<inputPDDLproblem> --outProblem=<outputPDDLproblem> --replace-output --import-problem-additions --problem-additions=<exportedAdditions>
You can also export, while creating the problem and domain file, e.g. the first time the ontology is consulted and to use updates after that:
./OWLToPDDL.sh --owl=<inputOWL> --tBox --inDomain=<inputPDDLdomain> --outDomain=<outputPDDLdomain> --aBox --inProblem=<inputPDDLproblem> --outProblem=<outputPDDLproblem> --export-problem-additions --problem-additions=<exportedAdditions> [OPTIONS]
Using the update has a significant impact on the runtime. E.g. in one of our tests, reading from ontology required 0.73s, reading from exported file required 0.34s (where only loading the classes took already about 0.20s).