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'sisql
utility.
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.
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
The list of ontology URIs in ontologies_list.txt
was produced by:
-
Downloading the LOV dump (in
.n3
) from here. -
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...)
-
Running the following query in the Conductor:
WITH <http://localhost:8890/DAV>
SELECT ?s
WHERE
{
?s rdf:type <http://purl.org/vocommons/voaf#Vocabulary>
}