An Aspect-Oriented Ontology Development Plug-In for Desktop Protégé 5

As Aspect-Orientated Software Development, Aspect-Oriented Ontology Development relies on the principles of Quantification and Obliviousness.

Quantification allows to define sets of elements of a particular language which are connected to a particular aspect. In the case of OWL, these elements are axioms. To define a set of axioms (quantify over the set of available axioms), our plug-in uses the query language SPARQL. Such a set is referred to as a pointcut.

We are currently working on the support of additional query languages. While SPARQL works on the RDF graph model, we will soon support OWL-based query languages that are aware of the DL-based semantics of OWL and allow for easier and more human-readable queries for pointcut definitions.

The current SPARQL-based implementation uses Apache Jena as an API to the underlying RDF graph of the ontology. Under the hood, we translate the currently opened ontology to a Jena model, run the query on it and translate the resulting graph back to an OWL ontology in the OWL API data model.

An OWL aspect pointcut definition using SPARQL

An OWL aspect pointcut definition using a SPARQL query.

If an ontology contains asserted axioms that are intended to hold only under particular aspects, then the question arises under which aspects the logical consequences of these axioms hold. We extended Protégé's reasoning service by an algorithm that derives aspects for entailed axioms by employing justifications. The entailed axioms along with their associated aspects are displayed in a dedicated view.

This should work with any reasoner that can plug into Protégé (tested with Pellet, Hermit and Fact++).

Extended reasoning service for entailing axioms that are affected by aspects.

Extended reasoning service for entailing axioms that are affected by aspects.

Download the latest binary release of the plug-in or clone the source code from GitHub.