DL2VecProjector

class mowl.projection.DL2VecProjector(bidirectional_taxonomy: bool = False)[source]

Bases: ProjectionModel

Implementation of projection rules defined in [chen2020].

The parsing rules are shown in the table below:

Condition 1

Condition 2

Triple(s)

\(A \sqsubseteq Q R_{0} \ldots Q R_{m} D\)

\(D := B_{1} \sqcup \ldots \sqcup B_{n} | B_{1} \sqcap \ldots \sqcap B_{n}\)

\(\left\langle A, (R_{0}...R_{m}), B_i \right\rangle\) for \(i \in 1 \ldots n\)

\(A \equiv Q R_{0} \ldots Q R_{m} D\)

\(A \sqsubseteq B\)

\(\left\langle A, SubClassOf, B \right\rangle\)

\(A \equiv B\)

\(\left\langle A, EquivalentTo, B \right\rangle\)

Initially, DL2Vec projection rules are intended to parse TBox axioms. However, for some cases, useful information might be present as ABox axioms of the form \(C(a)\), \(\exists R.C (a)\) and \(R(a,b)\) where \(C\) is an atomic concept, \(R\) is a role and \(a, b\) are individuals. The extended rules are the following:

Condition

Triple

\(C(a)\)

\(\left\langle a, http://type, C \right\rangle\)

\(\exists R.C (a)\)

\(\left\langle a, R, C \right\rangle\)

\(R(a,b)\)

\(\left\langle a, R, b \right\rangle\)

Parameters:

bidirectional_taxonomy (bool, optional) – If true then per each SubClass edge one SuperClass edge will be generated.

Methods Summary

project(ontology[, with_individuals, verbose])

Generates the projection of the ontology.

Methods Documentation

project(ontology, with_individuals=False, verbose=False)[source]

Generates the projection of the ontology.

Parameters:
  • ontology (org.semanticweb.owlapi.model.OWLOntology) – The ontology to be processed.

  • with_individuals (bool, optional) – If true then assertion axioms with named individuals will be included in the projection. Default is False.

  • verbose (bool, optional) – If true then the warnings will be printed to the standard output. Default is False.

Return type:

list(mowl.projection.edge.Edge)