This fork changes the port of the controller module from 8080 to 9080 in order to avoid possible conflicts when installing the system on a network and makes the output of the run and build scripts appear on the terminal instead of redirecting it to files. It also includes a full installation script in order to make the installation process easier. Tested on Ubuntu WSL 18.04.
In order to install and run the system you have to download and run the installation scripts:
wget https://raw.githubusercontent.com/costantino2000/TeBaQA/master/tebaqa-full-install-1.sh &&
chmod +x tebaqa-full-install-1.sh &&
./tebaqa-full-install-1.sh
Wait for Elasticsearch to start and then run the second script in another terminal:
wget https://raw.githubusercontent.com/costantino2000/TeBaQA/master/tebaqa-full-install-2.sh &&
chmod +x tebaqa-full-install-2.sh &&
./tebaqa-full-install-2.sh
The scripts will automatically install all the required dependencies along with the system and then run it on localhost:9080. Other informations can be found in the scripts comments.
TeBaQA is available at https://tebaqa.demos.dice-research.org/
TeBaQA implements microservices architecture. The application comprises following 5 modules:
- Template Classification :- to classify query templates (localhost:8081)
- Entity Linking :- finding and linking entities and relations (localhost:8082)
- Query Ranking :- candidate query execution, ranking (localhost:8083)
- TeBaQA Controller :- central controller, frontend application (localhost:8080)
- NLP Server :- CoreNLP Server endpoint (localhost:8085)
Additionally, Entity Linking requires Elasticsearch indices for data and ontology of the knowledge base. We provide dumps of DBPedia (2016-10 release). Find the dump files along with the instructions at Hobbit data. The indices were generated on Elastiscearch 6.6.1. You have to install Elasticsearch to use the Entity Linking components of TeBaQA. However, TeBaQA can also be run on your own knowledge base. Check the instruction in this file for more information on creating your own Elasticsearch indices. The script for createing the indices is located here
-
Checkout the project
-
make files executable (chmod +x <filename>.sh)
-
Build all modules
./build-script.sh
-
Run all modules
./run-script.sh
2. Run as Docker (installation guide, Ubuntu 20.04) containers
-
Checkout the project
-
Build docker images for each module
./docker/build-images.sh
-
To run all containers
./docker/run-containers.sh
-
To stop all containers
./docker/stop-containers.sh
Vollmers, D., Jalota, R., Moussallem, D., Topiwala, H., Ngomo, A. C. N., & Usbeck, R. (2021). Knowledge Graph Question Answering using Graph-Pattern Isomorphism. arXiv preprint arXiv:2103.06752. https://arxiv.org/abs/2103.06752
- To answer a question, simply execute an HTTP POST request to
http://localhost:8080/qa
for the answer which follows the W3C Query Results JSON Format (see https://www.w3.org/TR/sparql11-results-json/).http://localhost:8080/qa-simple
for a simple JSON with only the answer.
- Parameters:
query
: A string which contains a question (required).lang
: The language of the question (default:en
) Note: Other languages than English haven't been implemented yet.
- An example request could look like this:
http://localhost:8080/qa?query=Where is the birthplace of Angela Merkel?&lang=en
- QALD-8: http://gerbil-qa.cs.upb.de:8080/gerbil/experiment?id=202012090005
- QALD-9: http://gerbil-qa.cs.upb.de:8080/gerbil/experiment?id=202012050000
- LC-QUAD v1: http://gerbil-qa.cs.upb.de:8080/gerbil/experiment?id=202012160002
- LC-QUAD v2: http://gerbil-qa.cs.upb.de:8080/gerbil/experiment?id=202103220000
- perfect Classification: http://gerbil-qa.cs.upb.de:8080/gerbil/experiment?id=202012070002
- perfect Classification and Entity Linking: http://gerbil-qa.cs.upb.de:8080/gerbil/experiment?id=202012090000
- perfect Classification and Ranking: http://gerbil-qa.cs.upb.de:8080/gerbil/experiment?id=202012090001
- perfect Entity Linking: http://gerbil-qa.cs.upb.de:8080/gerbil/experiment?id=202012070004
- perfect Entity Linking and Ranking: http://gerbil-qa.cs.upb.de:8080/gerbil/experiment?id=202012080001
- perfect Ranking: http://gerbil-qa.cs.upb.de:8080/gerbil/experiment?id=202012080000
- perfect Entity Classification,Entity Linking and Ranking: http://gerbil-qa.cs.upb.de:8080/gerbil/experiment?id=202012080002
- DBpedia Chatbot: Styling of the result cards.