Skip to content

This repository contains the code for the MACODI web-app. The application offers an interface to browse BACODI contents. BACODI is a Knowledge Graph storing narrative and structural elements of "Il sentiero dei destini incrociati" by Italo Calvino.

dharc-org/odi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MACODI

A web-app to explore the semantic narrative of Italo Calvino's "Il castello dei destini incrociati"

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.

Contributors

LOCAL SETUP (Quick start)

Clone this repository using the URL https://github.com/ValentinaPasqual/odi.git or download the folder.

The project works with this requirement:

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

DEPLOYMENT SETUP

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

About

This repository contains the code for the MACODI web-app. The application offers an interface to browse BACODI contents. BACODI is a Knowledge Graph storing narrative and structural elements of "Il sentiero dei destini incrociati" by Italo Calvino.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published