This repository contains code and other resources for a group project in the course INFO216: Knowledge Graphs at the University of Bergen.
The project group consists of three UiB students: Jonatan Berg Romundgard, Ole Einar Markeset and Sebastian Einar Røkholt.
The aim of this project was to create a Knowledge Graph for the Overwatch E-Sports League using semantic technologies such as Python RDFlib, Blazegraph and DBpedia Spotlight. First, we collected data from The Overwatch Lab and the Liquipedia API. We then built a knowledge graph with players, teams, matches, tournaments and more with Python RDFLib, which generated a graph in Turtle format. Since there were no existing semantic resources for us to use, we also created a custom E-Sports ontology with RDFlib's OWL and RDFS modules, which we used to semantically improve upon the graph. Finally, the resulting graph was imported to Blazegraph in order to run complex SPARQL queries. We were thus able to investigate complex relationships between players, teams, game data and much more.
If you would like to read the rationale and methodology for this project, you may do so here.
- Python 3.7+
- Blazegraph
- Data from Overwatch Statslab (this repository includes these files)
pip install -r requirements.txt
or
pip install rdflib pandas requests owlrl pyspotlight
- Build graph.ttl
python -i main.py
- Run SPARQL queries (make sure you are in the same directory as your
blazegraph.jar
file)
java -server -jar blazegraph.jar
- Go to http://127.0.0.1:9999/blazegraph/ or whichever URL was provided when running the command above