Skip to content

A simple ontology database in-memory object. Can refresh itself from a list in ontologies_list.txt

License

Notifications You must be signed in to change notification settings

feup-infolab/ontologies-database

Repository files navigation

Codacy Badge Build Status Codacy Badge npm version

An ontology repository for your OpenLink Virtuoso Instances

We all know how hard it is to find ontologies on the web to load into our triple store as separate graphs. The Linked Open Vocabularies website helps a lot, but their dumps are in .nq format (n-Quads) and you will struggle quite a lot to try to translate them into .n3 or any other format that Virtuoso accepts.

ontologies-database is intended as

  • A repository of ontologies on GitHub, in .rdf or .owl for easy loading into Virtuoso
  • A download script that, given a list of ontology URIs in a .txt file, will attempt to downlod all those ontologies
  • A script to load those ontologies into separate graphs in a Virtuoso Instance running on localhost, via Virtuoso's isql utility.

Quickstart guide

This script is intended as a way to automatically fetch ontologies and load them into an OpenLink Virtuoso instance.

First, clone the repo:

git clone https://github.com/feup-infolab/ontologies-database.git
cd ontologies-database

Then, run the loading script:

chmod +x ./load_ontologies_into_virtuoso.sh 
./load_ontologies_into_virtuoso.sh ontologies_list.txt

Your Virtuoso instance will then be loaded with all the ontologies in the downloaded/ folder, each in its own graph.

Reloading the database

Ontologies can evolve, so we will periodically run the script and update this repository. If you want to refresh the ontologies in the downloaded/ folder by yourself:

  • Place the updated list of ontologies in the ontologies_list.txt file

  • Install nvm

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash
  • Install NodeJS 8.9.0

    nvm install 8.9.0
  • Activate NodeJS 8.9.0

    nvm use 8.9.0
  • Run the updating script. This will attempt to re-download all ontologies in the list, if they are in .owl or .rdf format.

    npm run

How we built the ontologies_map.txt file

The list of ontology URIs in ontologies_list.txt was produced by:

  1. Downloading the LOV dump (in .n3) from here.

  2. Loading the file into Virtuoso via the Quad Store upload function (ironic name, as it support uploading nQuads, only triples... Just call it Triple Store upload, no? But I digress...)

  3. Running the following query in the Conductor:

WITH <http://localhost:8890/DAV>
SELECT ?s
WHERE
{
    ?s rdf:type <http://purl.org/vocommons/voaf#Vocabulary>
}

About

A simple ontology database in-memory object. Can refresh itself from a list in ontologies_list.txt

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published