Python script for converting to SKOS.
This program accepts a thesaurus-like vocabulary expressed as RDFS, OWL or SKOS as input. It produces a clean SKOS representation, which attempts to represent the input data losslessly using SKOS best practices. When given SKOS as input, it will be cleaned up, validated and enriched to follow the SKOS specification and related best practices.
Skosify requires Python 3.6+.
pip install --upgrade skosify
As command line script:
skosify myvoc.owl -o myvoc-skos.ttl --label "My Ontology"
This will read the file myvoc.owl
in RDF/XML format and write SKOS file myvoc-skos.ttl
in Turtle format, setting the name of the Concept Scheme to My Ontology
.
Run skosify --help
for more usage information.
As Python library:
import skosify # contains skosify, config, and infer
voc = skosify.skosify('myontology.owl', label='My Ontology')
voc.serialize(destination='myontology-skos.rdf', format='xml')
rdf = Graph()
rdf.parse('myontology.owl')
config = skosify.config('owl2skos.cfg')
voc = skosify.skosify(rdf, **config)
skosify.infer.skos_related(rdf)
skosify.infer.skos_topConcept(rdf):
skosify.infer.skos_hierarchical(rdf, narrower=True)
skosify.infer.skos_transitive(rdf, narrower=True)
skosify.infer.rdfs_classes(rdf)
skosify.infer.rdfs_properties(rdf)
See the API Reference for documentation of the public API of this module. Everything not listed there might change in a future version.
Additional documentation can be found in the GitHub project wiki
The scripts directory contains two additional scripts to be used together with Skosify:
- skosify.cgi a web application to use Skosify
- sparqldump.py a command line client to download RDF via a SPARQL endpoint
- Osma Suominen
- Jakob Voß
- Dan Michael O. Heggø
- Alex Kourijoki
See background for history, related works, publications etc.