Table of Contents
Fetching ...

OWLOOP: Interfaces for Mapping OWL Axioms into OOP Hierarchies

Luca Buoncompagni, Fulvio Mastrogiovanni

TL;DR

The paper addresses integrating OWL ontologies and semantics into OOP software without sacrificing reasoning or triggering heavy paradigm shifts. It introduces OWLOOP, a passive, factory-based mapping around the OWL-API that encodes OWL axioms as OOP descriptors and supports reading, writing, and building knowledge. OWLOOP provides templates for compound descriptors to realize property, class, and assertion axioms, enabling polymorphic, OOP-like interfaces to ontologies while preserving reasoner capabilities. Through robot-in-smart-environment scenarios, it demonstrates modular software architectures that synchronize reasoning with runtime knowledge updates and outlines limitations and future work.

Abstract

The paper tackles the issue of mapping logic axioms formalised in the Ontology Web Language (OWL) within the Object-Oriented Programming (OOP) paradigm. The issues of mapping OWL axioms hierarchies and OOP objects hierarchies are due to OWL-based reasoning algorithms, which might change an OWL hierarchy at runtime; instead, OOP hierarchies are usually defined as static structures. Although programming paradigms based on reflection allow changing the OOP hierarchies at runtime and mapping OWL axioms dynamically, there are no currently available mechanisms that do not limit the reasoning algorithms. Thus, the factory-based paradigm is typically used since it decouples the OWL and OOP hierarchies. However, the factory inhibits OOP polymorphism and introduces a paradigm shift with respect to widely accepted OOP paradigms. We present the OWLOOP API, which exploits the factory to not limit reasoning algorithms, and it provides novel OOP interfaces concerning the axioms in an ontology. OWLOOP is designed to limit the paradigm shift required for using ontologies while improving, through OOP-like polymorphism, the modularity of software architectures that exploit logic reasoning. The paper details our OWL to OOP mapping mechanism, and it shows the benefits and limitations of OWLOOP through examples concerning a robot in a smart environment.

OWLOOP: Interfaces for Mapping OWL Axioms into OOP Hierarchies

TL;DR

The paper addresses integrating OWL ontologies and semantics into OOP software without sacrificing reasoning or triggering heavy paradigm shifts. It introduces OWLOOP, a passive, factory-based mapping around the OWL-API that encodes OWL axioms as OOP descriptors and supports reading, writing, and building knowledge. OWLOOP provides templates for compound descriptors to realize property, class, and assertion axioms, enabling polymorphic, OOP-like interfaces to ontologies while preserving reasoner capabilities. Through robot-in-smart-environment scenarios, it demonstrates modular software architectures that synchronize reasoning with runtime knowledge updates and outlines limitations and future work.

Abstract

The paper tackles the issue of mapping logic axioms formalised in the Ontology Web Language (OWL) within the Object-Oriented Programming (OOP) paradigm. The issues of mapping OWL axioms hierarchies and OOP objects hierarchies are due to OWL-based reasoning algorithms, which might change an OWL hierarchy at runtime; instead, OOP hierarchies are usually defined as static structures. Although programming paradigms based on reflection allow changing the OOP hierarchies at runtime and mapping OWL axioms dynamically, there are no currently available mechanisms that do not limit the reasoning algorithms. Thus, the factory-based paradigm is typically used since it decouples the OWL and OOP hierarchies. However, the factory inhibits OOP polymorphism and introduces a paradigm shift with respect to widely accepted OOP paradigms. We present the OWLOOP API, which exploits the factory to not limit reasoning algorithms, and it provides novel OOP interfaces concerning the axioms in an ontology. OWLOOP is designed to limit the paradigm shift required for using ontologies while improving, through OOP-like polymorphism, the modularity of software architectures that exploit logic reasoning. The paper details our OWL to OOP mapping mechanism, and it shows the benefits and limitations of OWLOOP through examples concerning a robot in a smart environment.
Paper Structure (32 sections, 13 figures, 4 tables, 7 algorithms)

This paper contains 32 sections, 13 figures, 4 tables, 7 algorithms.

Figures (13)

  • Figure 1: An overview of OWLOOP, where single-ended arrows are OOP extensions, squared arrows indicate the API endpoints, double-ended arrows are dependencies, and dashed arrows are OOP-based methods. OWLOOP extends the OWL-API to implement a hierarchy of descriptors to read and write ontological knowledge and build new descriptors.
  • Figure 2: The axioms of a simple ontology used as an example. It shows the hierarchy of classes and properties in the TBox and RBox, respectively. It also shows individuals in the ABox and the related assertions in grey, i.e., their classification (point-line) and properties (arrows).
  • Figure 3: The UML structure of OWL entities and expressions in an ontology.
  • Figure 4: The UML structure of some OWL property axioms (the others are in Figure \ref{['fig:OWLpropertyAxiom2']}).
  • Figure 5: The UML structure of some OWL property axioms (the others are in Figure \ref{['fig:OWLpropertyAxiom1']}).
  • ...and 8 more figures