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.
Abstract (translated)
本文研究了在面向对象编程(OOP)范式内,将语义知识图谱(OWL)中的推理规则映射到OWL模型的逻辑轴理问题。OWL轴理层次结构和OOP对象层次结构的映射问题是因为基于OWL的推理算法可能会在运行时改变OWL层次结构;而OOP层次结构通常被定义为静态结构。尽管基于反思的编程范式允许在运行时改变OOP层次结构,并动态地映射OWL轴理,但目前没有可用的机制不限制推理算法。因此,通常是基于工厂的方法,因为它解耦了OWL和OOP层次结构。然而,工厂会抑制OOP多态性,并引入与广泛接受的多范式OOP范式不同的范式转变。我们提出了OWLOOP API,该API利用工厂来避免限制推理算法,并提供了关于语义模型中轴理的新颖OOP接口。OWLOOP旨在通过类似的OOP方式限制使用语义模型的范式转变,同时提高软件架构的模块性,通过逻辑推理来利用。本文详细介绍了我们的OWL到OOP映射机制,并通过一个智能环境中的人工机器人示例,展示了OWLOOP的优势和局限性。
URL
https://arxiv.org/abs/2404.09305