ODI is a project which formally represents the narrative and structural elements of "Il castello dei destini incrociati" by Italo Calvino. In particular, ODI is the ontology describing the work, BACODI is the Knowledge Graph (KG) storing all data regarding the work. For a complete overview of the project please see the technical documentation website and the Github repository.
MACODI is a web-app which provides several paths to explore BACODI KG along with some specific data-visualisations.
This interface is a Python 3 web application built in Flask. The project is ongoing and under development.
- Scientific Supervisor: Francesca Tomasi
- Work Analysis, Data Collection: Enrica Bruno
- Ontology Definition and Knowledge Base Construction: Enrica Bruno, Valentina Pasqual
- Web Application Development: Valentina Pasqual
- Affiliation: Digital Humanities Advanced Research Center (/DH.arc), Department of Classical and Italian Philology (FICLIT), University of Bologna.
Clone this repository using the URL https://github.com/ValentinaPasqual/odi.git or download the folder.
The project works with this requirement:
- Python v3.6.3
Packages can be installed by running setup.sh:
sh setup.sh
After installing the required packages:
- Run blazegraph.jar locally:
cd data
java -server -Xmx4g -jar blazegraph.jar
- Upload both the ontology data/odi.ttl and the KG data/bacodi.ttl via the Blazegraph interface (accessible at http://localhost:9999/) [OR] Upload data via cmd
- Note: "file://" is required for both Windows and Linux
curl "http://localhost:9999/blazegraph/namespace/kb/sparql" --data-urlencode "update=DROP ALL; LOAD <file:///[local-path]/data/bacodi.ttl>"
curl "http://localhost:9999/blazegraph/namespace/kb/sparql" --data-urlencode "update=LOAD <file:///[local-path]/data/odi.ttl>"
A blazegraph.jnl file will be created in your data repository, no further data uploads are required.
- Run app.py
python app.py
- Open the application in your browser: http://localhost:8000/
service nginx start
/usr/bin/nohup /usr/lib/java/bin/java -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -server -Xmx2g -Djetty.port=9999 -jar blazegraph.jar
nohup gunicorn -w 4 -b 0.0.0.0:8080 app:app