- DALICC license library consists of 344 licenses listed here.
- The whole license library (including license representations as documented here) is stored in the RDF file
licensedata/licenselibrary/licenselibrary.ttl
. - The licenses are also in separate
.ttl
files underlicensedata/licenses
.
DALICC API supports the automated clearance of rights thus supporting the legally secure and time-efficient reutilization of third party data sources. The services are running here.
- docker
- docker-compose
- Execute the following commands in the folder:
docker-compose build --pull
docker-compose up -d
mkdir reasoner/app/programs/temp
The URLs of the database and the reasoner are set via env in the docker-compose file. One exception is the config file of the reasoner: 'reasoner/reasoner.config'
In there is the URL of the database used by the hexlite plugin. This has to be changed additionally.
- Virtuoso is hosted using this Docker image.
- The Virtuoso DB is available at port
8890
; see docker-compose.yml for configurations. - The database files are stored in a local volume in
virtuoso_data
.
- Execute the following command for copying the RDF files into
ttl_dump
directory undervirtuoso_data
and specifying the graphs:cd licensedata
sudo sh copy_ttls.sh
- To load RDF files into Virtuoso follow the instructions from the documentation:
docker exec -it virtuoso-db bash
isql-v -U dba -P dba
SQL> ld_dir('ttl_dump', '*.ttl', NULL);
SQL> rdf_loader_run();
- Build a full text index over the graph:
docker exec -it virtuoso-db bash
isql-v -U dba -P dba
- -- We specify that all string objects in the graph 'license-library' should be text indexed:
SQL> DB.DBA.RDF_OBJ_FT_RULE_ADD('https://dalicc.net/licenselibrary/', null, 'licenses');
- -- We update the text index.
SQL> DB.DBA.VT_INC_INDEX_DB_DBA_RDF_OBJ ();
- To set the text index to follow the triples in real time, use:
DB.DBA.VT_BATCH_UPDATE ('DB.DBA.RDF_OBJ', 'OFF', null);
- To set the text index to be updated every 10 minutes, use:
DB.DBA.VT_BATCH_UPDATE ('DB.DBA.RDF_OBJ', 'ON', 10);
- Example query using the full text index:
SELECT * FROM <https://dalicc.net/licenselibrary/> WHERE { ?s ?p ?o . ?o bif:contains '"Mozilla*"' . }
- The API is implemented using FastAPI.
- The source files of the API are in app; FastAPI reloads the application on any local changes.
- The Swagger documentation is avaliable at localhost:8090/docs.