Reasoning over ontologies

class mowl.reasoning.base.MOWLReasoner(reasoner)

Bases: object

This class encapsulates some of the funcionalities in the OWLAPI. It provies methods to infer different types of axioms to extend a particular ontology.

Parameters

reasoner (This parameter has to implement the OWLAPI interface org.semanticweb.owlapi.reasoner.OWLReasoner) – Reasoner that will be used to infer the axioms.

infer_subclass_axioms(ontology)

Infers and adds axioms of the type \(C \sqsubseteq D\)

Parameters

ontology (org.semanticweb.owlapi.model.OWLOntology) – Ontology to be extended with new axioms.

infer_equiv_class_axioms(ontology)

Infers and adds axioms of the form \(C \equiv D\)

Parameters

ontology (org.semanticweb.owlapi.model.OWLOntology) – Ontology to be extended with new axioms.

infer_disjoint_class_axioms(ontology)

Infers and adds axioms of the type \(C\) disjoint_with \(D\)

Parameters

ontology (org.semanticweb.owlapi.model.OWLOntology) – Ontology to be extended with new axioms.

EL Normalization

class mowl.reasoning.normalize.ELNormalizer

Bases: object

This class wraps the normalization functionality found in the Java library Jcel. The normalization process transforms an ontology into 7 normal forms in the description logic EL language.

normalize(ontology)

Performs the normalization. :param ontology: Input ontology :type ontology: org.semanticweb.owlapi.model.OWLOntology

Return type

Dictionary where the keys are labels for each normal form and the values are a list of axioms of each normal form.