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 skosifyAs 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.