A linked data ontology about movies and their filming locations with an accompanying application. Built as a project for the course Knowledge and Data @ Vrije Universiteit Amsterdam.
The populated ontology (linked data) can be found at ontology/PopulatedOntology.ttl
. Its unpopulated or clean version is at ontology/CleanOntology.ttl
. For any further explanation about the ontology itself it is best to refer to its relevant general documentation or inferences documentation.
In short this project uses IMDB data to populate the ontology alongside latitudes and longitudes of locations and specific scenes. The image below provides an overview of the data and its links.
Any triple store that exposes a SPARQL endpoint and supports OWL2 RL
inferencing can be used, e.g. GraphDB. Load PopulatedOntology.ttl
into a new repository and let the reasoner run.
In GraphDB this is done by:
- Setup > Repositories > Create new repository.
- Give the repository a recognizable ID.
- Set the ruleset to either
OWL2-RL
orOWL2-RL (Optimized)
. - Click
Create
to create the repository. - Open Import > RDF.
- Upload the
PopulatedOntology.ttl
and import this. - Let the import finish.
- Copy the repository URL to your clipboard, this will later be used.
The resulting repository should contain about 650 thousand explicit statements and 1,4 million inferred statements.
To ensure you can run the application install its dependencies. A requirements file can be found in the application folder. From \application\
run pip install -r requirements.txt
.
Note: Two
requirements.txt
files exist. The file in the root folder can be installed if anything else other than the actual application needs to be ran. The requirements file in the application folder contain the requirements that are necessary for the application only.
With the requirements installed you can run streamlit run movieLocator.py
from the application folder and the application will launch. If a browser does not automatically open then manually open the link provided in the terminal.
With the URL open an input field should appear where the endpoint of the triple store can be pasted. When this is done without errors the application is ready to be used.
When the endpoint is set and verified the URL is stored in config.ini
. If this needs changing then either edit it directly in this file or delete it entirely.