This project is part of the Knowledge Graph lecture at Friedrich Schiller University Jena during the summer semester of 2025. It consists of five milestones that cover the fundamentals of knowledge graphs, including their construction, usage, and improvement.
First, we model an ontology for the given domain. Then, we enrich the ontology with tabular data to populate the knowledge graph with individuals. In the next step, we query the knowledge graph and reason over the data. The fourth milestone focuses on improving the ontology by aligning it with an existing one. Finally, we embed the ontology to obtain a vector representation.
Below you can find the documentation for each milestone:
Documentation of the modelling step can be found in modelling.
Documentation of the data processing / preparation can be found in tabular data.
Documentation of the querying and reasoning can be found in query reasoning.
Documentation of the ontology alignment can be found in improvement alignment.
Documentation of the ontology embedding can be found in ontology embeddings.
We recommend reading our markdown report instead of the PDF version, as it provides direct links to files and contains code snippets. The PDF is a modified version of the markdown report, but it is not as interactive and detailed as the markdown version. To start with the markdown report, you can start with the first milestone Modelling.
Of course we also provide a PDF version of the report because it is required for the submission. The PDF report can be found here: report.pdf.
We created Python scripts for milestones 4 and 5, which can be found in the directories src/python/alignments and src/python/embeddings.
Our ontology can be found here: ontology.ttl.
Our final rdf data, including reasoning, can be found here: result-triples.ttl.
Our final rdf data, including reasoning, can be found here: statements-protege.ttl.
The CSV file from Subtask SPARQL.2 can be found here: restaurant-pizzas-without-tomato-v2.csv.
Our Approaches
We presented multiply approaches to align our ontology with the provided one. The results of these approaches can be found in the following files:
- ontology-alignment-contains-full.ttl
- ontology-alignment-contains-short.ttl
- ontology-alignment-contains-loop-full.ttl
- ontology-alignment-contains-loop-short.ttl
- ontology-alignment-levenshtein-full.ttl
- ontology-alignment-levenshtein-short.ttl
- ontology-alignment-levenshtein-loop-full.ttl
- ontology-alignment-levenshtein-loop-short.ttl
- ontology-alignment-manual.ttl
AML
- output.ttl (RDF/XML format: (output.rdf))
LogMap
- logmap2_mappings.ttl (RDF/XML format: logmap2_mappings.rdf)
Our Approaches
AML
- output.ttl (RDF/XML format: output.rdf)
LogMap
- logmap2_mappings.ttl (RDF/XML format: logmap2_mappings.rdf)
- Binary: ontology.embeddings
- Text: ontology.embeddings.txt
- Binary: ontology.embeddings
- Text: ontology.embeddings.txt