jannahastings / py-horned-owl

A library for Web Ontology Language in Python created using a bridge from horned-owl to python using PyO3.

Home Page:https://jannahastings.github.io/py-horned-owl/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

py-horned-owl

An experimental bridge from horned-owl to python using PyO3.

Installation

Published version

To install the published library:

pip install py_horned_owl

From sources

To build locally from sources, you will need Rust, PyO3 and Maturin.

Check out this repository: git clone https://github.com/jannahastings/py-horned-owl/

In the directory py-horned-owl, create and activate a virtual Python environment:

virtualenv py-horned-owl

source bin/activate

Then you can get maturin to build the library and install it into the virtual Python environment with:

maturin develop

Usage

The library supports loading ontologies from .owl (RDF-XML) and .owx (OWL-XML) files via horned-owl's parsing functionality. ROBOT can transform ontologies that are in other OWL flavours into one of these formats using robot convert.

Example of simple usage:

import pyhornedowl

ontoname = "family.owx"

onto = pyhornedowl.open_ontology(ontoname)

print (f"Loaded ontology has {len(onto.get_classes())} classes.")
print (f"Loaded ontology has {len(onto.get_axioms())} axioms.")

for c in onto.get_classes():
    print(onto.get_axioms_for_iri(c))


For more information please visit the documentation.

About

A library for Web Ontology Language in Python created using a bridge from horned-owl to python using PyO3.

https://jannahastings.github.io/py-horned-owl/

License:GNU Lesser General Public License v3.0


Languages

Language:Rust 62.7%Language:Python 24.8%Language:Jupyter Notebook 12.5%