A hybrid architecture for conjunctive query answering over OWL 2 DL.
Read the thesis
·
Read the journal paper
·
Report bug
ACQuA is a hybrid query answering framework that combines black-box services to provide a CQ answering service for OWL. Specifically, it combines scalable CQ answering services for tractable languages with a CQ answering service for a more expressive language approaching the full OWL 2. If the query can be fully answered by one of the tractable services, then that service is used. Otherwise the tractable services are used to compute lower and upper bound approximations, taking the union of the lower bounds and the intersection of the upper bounds. If the bounds don’t coincide, then the “gap” answers are checked using the “full” service.
This reference implementation combines RSAComb, PAGOdA, and HermiT, but these tools can be potentially substituted or augmented with more capable ones to improve the overall performance of the system.
Disclaimer: ACQuA is still in its preliminary stage of development and might contain bugs.
RSAComb uses a recent version of RDFox under the hood to offload part of the computation.
In order to run ACQuA you need to have RDFox available in your system, along with a valid license. RDFox is proprietary software and as such we are not able to distribute it along with our code. This software has been developed and tested with RDFox v5.5.
- Maven
- RSAComb v1.1.0
- RDFox v5.5
We refer to the official documentation for a step-by-step guide on how to setup RDFox on your personal machine.
In particular, you will need to know the path to the RDFox Java API (usually called JRDFox.jar
) that comes with the distribution.
Alternatively, run the following commands (on a Linux x86 machine) from the root of the project to install RDFox locally. Download links for other versions, operating systems, and architectures can be found here.
mkdir -p lib && pushd lib
wget https://rdfox-distribution.s3.eu-west-2.amazonaws.com/release/v5.5/RDFox-linux-x86_64-5.5.zip
unzip RDFox-linux-x86_64-5.5.zip
ln -s RDFox-linux-x86_64-5.5/lib/JRDFox.jar
popd
The documentation, describes several ways to provide the license to RDFox.
One easy way is to put your license key in a file RDFox.lic
in $HOME/.RDFox/
, with adequate read permissions for the user executing the program.
The project is managed using Maven. You can compile the code using the following command
mvn compile
To build a JAR file, package the project as follows
mvn package
To run ACQuA from the command line you can use the following command
java -cp target/acqua-0.2.0-jar-with-dependencies.jar:<path/to/JRDFox.jar>:<path/to/RSAComb.jar> uk.ac.ox.cs.acqua.Acqua [OPTION ...]
where path/to/RSAComb.jar
and path/to/JRDFox.jar
are the paths in your system for RSAComb.jar
and JRDFox.jar
, respectively.
For example to get a help message from the CLI use
java -cp target/acqua-0.2.0-jar-with-dependencies.jar:<path/to/JRDFox.jar>:<path/to/RSAComb.jar> uk.ac.ox.cs.acqua.Acqua --help
To run an example shipping with the distribution you can try
java -cp target/acqua-0.2.0-jar-with-dependencies.jar:<path/to/JRDFox.jar>:<path/to/RSAComb.jar> \
uk.ac.ox.cs.acqua.Acqua \
-o tests/lubm/univ-bench.owl \
-d tests/lubm/data/lubm1.ttl \
-q tests/lubm/queries.sparql
[1] Horridge, Matthew and Bechhofer, Sean. The OWL API: A Java API for OWL Ontologies. Semantic Web Journal 2(1), Special Issue on Semantic Web Tools and Systems, pp. 11-21, 2011.
- Federico Igne
- Stefano Germano
- Ian Horrocks (Scientific Supervisor)
From the Knowledge Representation and Reasoning research group in the Department of Computer Science of the University of Oxford.
This project is licensed under the Apache License 2.0.