Knowledge and Data Engineering INFOMKDE Group Project - Group 5
For our project we decided to create an application, which uses Semantic Web Technologies, in order to interconnect museums, artists and artworks.
In requirements.txt
file you can find the environment requirements that were used during the creation of the project. The dataset can be found in ./Blazegraph/data.ttl
and OWL-RDFS axioms in ./OWL-RDFS/owl-rdfs.ttl
Docker
In order to run our application you will need Docker to be downloaded in your systems, as our Blazegraph database instance and our User Interface are dockerized.
Running the application
To run our application you can follow the instructions below:
- Run the
./Blazegraph/blazegraph.sh
script to create the Blazegraph instance, where the data will be stored. The script creates an instance of the database athttp://localhost:8889
. - Run
./insert.sh
script, to upload the data that we collected in the Blazegraph. - Run
./UI/app.sh
script to create the application. The script runs the application athttp://localhost:4000
.
If you have troubles with the permissions for the scripts you can run chmod +x script_filepath
to give permission to run.
Searching with NLP model
In the home page of our application you can ask a question to the trained NLP model and get the corresponding data. Our model can answer questions like:
- Where is the Kasteel Radboud located ?
- What are the artworks of Pablo Picasso ?
- Who is the creator of The Laughing Man ?
- What is the collection of Rijksmuseum ?
- What is the movement of Carl Spitzweg ? (Artist Movement)
- What is the movement of The Abduction of Europa ? (Artwork Movement)
- Which is the museum of The Hunt Breakfast ?
- Who are the artists in Gemäldegalerie ?
- What is the phone number of Kasteel Radboud ?
Note: The NLP creates the right query for the above questions most of the times. Because the NLP was trained with the schema before adding some of the data and because some data have missing values for some relationships, the model may generated the right query but the data are not retrieved from the Blazegraph because of the missing values. For that reason, if a fail of that type occurs we have printed the query that was created if you to validate its correctness. For some reason, when printing the query on http://localhost:4000
the PREFIX of the query is skipped and not been printed but it is there in the query performed so do not count this as a reason for the failed query.
Use cases
Here are some use cases that you can try in our application:
- You can navigate in one of the routes Museums, Artists, Artworks, Movements and select one of the names that are available in our application, search for the name in the corresponding search bar and obtains the results.
- Choose one of the natural language questions that were described in the section above, type it in the search bar of the home page that uses the NLP model and obtain the results for your question.
- Navigate to Recommendations route, choose one museum, artist or artwork from our application, type it in the text box and choose for what you would like to receive recommendations.