Background
Ontologies and conceptual data models are used by
intelligent systems to manage data more efficiently by a number of applications
[1]. One of the applications is being applied to the Semantic Web, considered
as the next generation of the World-Wide Web [2], where data is envisioned as a
linked web. The idea is to express knowledge as an ontology or conceptual data
model.
How the actual data of a domain is linked to the
domain’s conceptual representation is a consideration that a theoretical
architecture called KnowID has taken into account. Its purpose is to carry out
a ‘knowledge-to-data’ pipeline so that we can have a graphical interface representing
conceptual data as an EER, popular for mapping over relational databases, as a
map of inter-related concepts and expressive relationships and query over them
to obtain the actual data we are looking for. One of the important steps in
realizing this is ensuring the model’s expressivity which requires making
implicit knowledge explicit. This process was the core focus of the
materialization of deductions component of the system where inferred facts
needs to be amended to the model.
One of the most prominent existing tools that carried
inference-based ontology edits was an earlier version of Protégé [9]. However, Protégé’s
original functionality that to materialized inferences is widely inaccessible
and not tailored to suit EER features. Another prominent implementation is the
OWL API [7], a high-level API implemented in Java that allows users to load,
manipulate and query ontologies [7]. However, object-oriented programming
approaches like Owlready [8] are easier to use to modify an ontology than APIs
like the OWL API [7]. Owlready provides functions to access and edit entities
and constraints. It is a python module designed to use object-oriented programming
principals to support OWL 2 ontologies where entities can be accessed like
objects in programming languages. Moreover, an important feature of another
tool called ICOM [6] brings about an important service. Like the other
implementations discussed, it is a tool capable of making certain edits based
on inferences from its DL reasoner, albeit not EER specific. More importantly,
editing, the user can then decide
if they want to keep the changes.