Keywords

1 Introduction

There has been an exponential growth in ontology development for the Semantic Web, including a move toward modular and networked ontologies that require coordination among ontologies. Foundational ontologies are commonly used to facilitate semantic interoperability, where Semantic Web system developers choose a preferred foundational ontology among several available ones for their domain ontologies; these include, among others DOLCE, BFO, GFO, OCHRE, UFO, YAMATO, SUMO, and GIST. The semantics and underlying Ontology of each foundational ontology differs, however, causing a problem in semantic interoperability even when a foundational ontology is used. Heterogeneous systems on the Semantic Web are restricted to committing to a single foundational ontology in order to promote interoperability. However, no single foundational ontology is used across all systems, therewith preventing interoperability. In order for these applications to share and process information correctly, there is a need for foundational ontology interoperability, so that ontology developers committing to a preferred foundational ontology will achieve seamless linking to other domain ontologies linked to another foundational ontology. An infrastructure to support such a scenario was envisioned as the “WonderWeb Foundational Ontologies Library” (WFOL) [1], but this infrastructure still does not exist. The main preconditions for a WFOL are content comparisons and ontology mediation. Ontology mediation refers to identifying and solving differences between heterogeneous ontologies, in order to allow reuse and interoperability. Its three main processes are alignment, mapping, and merging [2]. There are only few paper-based alignments of foundational ontologies, being between GFO and DOLCE [3] and between DOLCE and BFO [4, 5], which, however, are partial, with older versions of the ontologies, informal, and/or aligned but not mapped. To the best of our knowledge, no systematic comparison of the contents of foundational ontologies has been done, nor full alignments, let alone consistent mappings.

We aim to contribute to fill this gap of semantic interoperability by selecting three well-known foundational ontologies, DOLCE [1], BFO (http://www.ifomis.org/bfo) with RO [6], and GFO [3] with which we perform a rigorous foundational ontology content comparison and mediation to aid in achieving foundational ontology interchangeability. The alignment process is carried out by using the manual alignment as a gold standard and (semi-)automated alignment with seven alignment tools to examine them on their capabilities to align foundational ontologies. The accuracy and percentage of alignments that were found vary greatly among the tools due to their diverse alignment algorithms, ranging from 18 to 94 % and 17 to 31 %, respectively. Further alignment issues appear in the transitivity of alignments across the three foundational ontologies due to absence of some entity or conflicting parthood theories, whilst some may be resolved by asserting them as sibling classes. Mapping the aligned entities whilst keeping a consistent ontology reduces the feasible set from 85 alignments to 43 successful mappings due to disjointness and complement axioms elsewhere in the ontology, and due to incompatible domain and range axioms, which in some cases can be solved from a logic viewpoint by asserting subsumption instead. For each mediation process (alignment, mapping and mediation), we present the issues encountered for foundational ontology mediation and how some of them may be solved.

In the remainder of the paper, we provide a literature review in Sect. 2. A content comparison of the foundational ontologies is described in Sect. 3, which is followed by an analysis of alignments in Sect. 4, and of the mappings in Sect. 5. We discuss the results in Sect. 6 and conclude in Sect. 7.

2 Literature Review

Few results are available on comparisons among the foundational ontologies of its classes and relationships. Seyed compared the primitive relations of BFO (i.e., the Relation Ontology (RO)) and DOLCE, who observed that the philosophies behind the foundational ontologies affect the way the relations are modelled. For instance, BFO is based on realist principles and has no abstract entities while GFO is both descriptive and realist in nature and allows abstract entities in an ontology, and BFO’s parthood relation has_part does not consider abstract entities, while GFO has a parthood relation abstract_has_part that considers abstract entities at a higher-level than its has_part relation.

Temal et al. [5] created a BFO-DOLCE mapping in order to integrate medical information. The classes (universals or categories) are mapped with equivalence and subsumption relations. Based on the older so-called SNAP and SPAN version of BFO, they found that all BFO universals were successfully mapped to DOLCE, but not all DOLCE entities could be mapped to BFO. These alignments were not checked on consistency of the mappings and were done on some First Order Logic version of the ontologies, where the SNAP-BFO has, e.g., Boundary, that BFO v1.1 in OWL does not have, and DOLCE is claimed to have Collection, which appears neither in the principal documentation [1] nor in the OWLized version of DOLCE. Some of their alignments are useful, however, which we will return to in Sect. 4.

Broadening the scope toward general ontology mediation and matching and from a computational viewpoint, some principles and definitions are useful also for the foundational ontology setting. Ontology mediation [2] is divided into three operations: mapping, alignment, and merging. To be precise in the terminology we use throughout the paper, we provide several definitions on ontology matching in this section, which are taken from [7]. First, there is the matching process:

Definition 1

(Matching Process [7]). The matching process can be seen as a function \(f\) which, from a pair of ontologies to match \(o\) and \(o^{\prime }\), an input alignment \(A\), a set of parameters \(p\) and a set of oracles and resources \(r\), returns an alignment \(A^{\prime }\) between these ontologies: \(A^{\prime } = f(o, o^{\prime },A, p, r)\).

To be able to talk about an actual alignment or mapping, the notion of “entity language” has to be introduced, which is used to express precisely those entities that will be matched.

Definition 2

(Entity Language [7]). Given an ontology language \(L\), an entity language \(Q_{L}\) is a function from any ontology \(o \subseteq L\) which defines the matchable entities of ontology o.

Then, a correspondence consists of a relation between two entities in different ontologies, which is uniquely identified and has some confidence value assigned to it.

Definition 3

(Correspondence [7]). Given two ontologies \(o\) and \(o^{\prime }\) with associated entity languages \(Q_{L}\) and \(Q_{L^{\prime }}\), a set of alignment relations \(\theta \) and a confidence structure over \({\varXi }\), a correspondence is a 5-tuple: \(\langle id, e, e^{\prime }, r, n\rangle \), such that \(id\) is a unique identifier of the given correspondence, \(e \subseteq Q_{L}(o)\) and \(e^{\prime } \subseteq Q^{\prime }_{L^{\prime }}(o^{\prime })\), \(r \subseteq \theta \), and \(n \subseteq {\varXi }\).

Ontology alignment, then, is the process of specifying correspondences between entities, by using a particular alignment relation, such as equivalence, subsumption, or a predefined similarity relation.

Definition 4

(Alignment [7]). Given two ontologies \(o\) and \(o^{\prime }\), an alignment is made up of a set of correspondences between pairs of entities belonging to \(Q_{L}(o)\) and \(Q_{L^{\prime }}(o^{\prime })\) respectively.

Ontology mapping deals with creating correspondences between ontologies based on alignments such that the resultant ontology is still consistent and does not have unsatisfiable classes or relations. Euzenat and Shvaiko do consider this with respect to models of aligned ontologies, which is too lengthy to repeat here, and De Bruijn et al. does not provide a definition of their idea of mapping as a ‘consistent alignment in the context of the whole ontology’ either. Therefore, we capture the gist in the following definition, using Euzenat and Shvaiko’s notational conventions.

Definition 5

(Mapping ). Given two ontologies \(o\) and \(o^{\prime }\), a mapping is made up of a set of correspondences between pairs of entities belonging to \(Q_{L}(o)\) and \(Q_{L^{\prime }}(o^{\prime })\), respectively, and this mapping is satisfiable and does not lead to an unsatisfiable entity in either \(o\) or \(o^{\prime }\).

In merging, a new merged ontology is created from the original ontologies.

Definition 6

(Merging ). Given two ontologies \(o\) and \(o^{\prime }\), a merging is the creation of a new ontology \(o^{\prime \prime }\) containing \(o\) and \(o^{\prime }\) and all mappings between entities belonging to \(Q_{L}(o)\) and \(Q_{L^{\prime }}(o^{\prime })\) such that \(o^{\prime \prime }\) does not have unsatisfiable entities and is consistent.

Overviews of approaches, frameworks, and technologies used to perform ontology mapping, alignment and merging are discussed elsewhere (e.g., [2]), and more detail about algorithms and issues can be found in [7].

As mentioned earlier, there are many foundational ontologies, in whole and modularised modules, and foundational ontologies are regularly being updated. This makes it rather time-consuming to explore each foundational ontology time and again, especially when there are differences in hierarchy and structure. Therefore, it makes sense to use matching tools to align foundational ontologies, which thereby also is an opportunity to determine which tools are better suited for foundational ontologies and to the type of alignments that are misaligned or not discovered by those tools. We summarize the alignment tools that are used in the experimental evaluation, of which we note that LogMap [8], YAM++ [9], HotMatch [10], Hertuda [11] and Optima [12] have been evaluated with positive results by the Ontology Alignment Evaluation Initiative (OAEI) in terms of their precision, recall and other performance measures.

H-Match [13] is an algorithm for matching ontologies at different depth levels, with different accuracies. The algorithm takes into account linguistic and semantic features of ontologies to perform matching and uses one of four matching models: surface, shallow, deep or intensive. The surface model considers linguistic affinity between entity names to measure similarity. In shallow, deep and intensive models, context is also considered to determine entity similarity.

PROMPT [14] is an ontology matching plug-in for Protégé that allows for comparison, mappings, and merging between ontologies. It is a semi-automatic method that invokes algorithms based on a combination of concept-representation structure, the relations between entities and user’s actions. PROMPT offers the user four different algorithms to use for initial comparison: lexical matching, FOAM plugin, lexical matching with synonyms and using UMLS concept identifiers for matching. It is only supported in older versions of Protégé, which makes it unstable.

LogMap [8] automatically generates mappings between ontologies using logic-based semantics of the input ontologies. It offers an improvement to other mapping tools in that it addresses scalability and logical inconsistencies. LogMap allows a user to upload ontologies in a number of formats and implements existing reasoners to check the satisfiability of the ontologies.

YAM++ [9] aligns entities by information retrieval or machine learning if training data is available. Three matchers are implemented in YAM++: an element level matcher, a structural matcher and a semantic matcher. The element level and structural mapper discover alignments while the semantic matcher revises these alignments to remove inconsistencies and ensure logical mappings.

HotMatch [10] is a tool based on a combination of many matching algorithms. The two types of algorithms are element level and structural matching. However, there is more than one of each implemented. There are also filters in HotMatch, used to remove duplicate mappings found by the matchers. Upon input of a source and target ontology, HotMatch deploys its matchers and filters sequentially resulting in mappings between the two.

Hertuda [11] is an entity matcher that applies element level matching with a string comparison. The alignments generated by Hertuda are only satisfiable in OWL Lite/DL. As a result, object properties in the ontologies are handled separately. This may cause some difficulties in aligning object properties in the foundational ontologies because their domains and ranges affect the alignments.

Optima [12] is a fully automatic tool which iteratively improves alignments. It is aimed at aligning large ontologies but may also be used for smaller ontologies. Its similarity measure is based on both syntactic and semantic similarity.

3 Foundational Ontology Content Comparison

In this section, we provide an informal content comparison between the foundational ontology pairs by identifying differences and similarities between the them. A content comparison is beneficial in that it forms the basis for performing ontology mediation operations. It does not include abstract comparisons such as those based on philosophical choices, ontological alignments and software engineering properties, which has been addressed elsewhere [15], but rather a high-level comparison of the structure, organisation, and entities of the ontologies.

DOLCE, BFO and GFO contain both 3D and 4D entities. Both BFO and GFO name these entities Continuant and Occurrent while DOLCE names them endurant and perdurant. Some syntactic   variants exist between DOLCE,   BFO, and GFO, e.g., DOLCE’s   space-region vs.   BFO’s SpatialRegion   vs. GFO’s   Spatial_region. In DOLCE, BFO, and GFO, classes that share the same name and idea are process, function and role.

DOLCE entities are of type particular, BFO’s entities are Universals while GFO contains a combination of the two, both Individual and Universal entities. DOLCE and BFO have similar structures at a high-level only in that both have separate branches of 3D and 4D entities. GFO’s high-level structure is different as it offers a distinction between Category and Individual entities. DOLCE’s endurant and perdurant branches are linked by participation relations; BFO’s and GFO’s 3D and 4D entity branches are completely independent of each other.

The three foundational ontologies have entities and axioms that represent quality, temporal and spatial entities in different ways. DOLCE and GFO have advanced support for representing entity properties (e.g., colour) and their values (e.g., blue) while BFO has limited support for this. However, similar entities within the ontologies do exist e.g., DOLCE’s quality, BFO’s Quality and GFO’s Property. Similarly, for temporal and spatial entities, the treatment differs in the three foundational ontologies but there are some similar entities. GFO subsumes them in a Space-time entity, while in DOLCE and GFO, the spatial and temporal entities are subsumed by different classes.

DOLCE and GFO contain relational properties. BFO does not have relational properties included in the ontology, but rather as a separate ontology, the Relational Ontology (RO) [6]. BFO 2.0 is currently being developed, where BFO is integrated with RO. DOLCE’s relational properties are all based on either of its six primitive relations: parthood, temporary parthood, constitution, participation, quality, and quale. For mereology, DOLCE adopts the axioms of General Extensional Mereology (GEM), which includes parthood, proper part, overlap, strong supplementation, and unrestricted fusion. BFO core is a comprehensive mereology represented in first-order logic and contains collections, sums and universal axioms. GFO’s mereology contains the following axioms: antisymmetry, transitivity, set inclusion, proper parthood, and other GFO-specific axioms based on these.

Thus, the organisation of entities within the three ontologies differ. In some cases, entities that seem similar fall in contradicting or disjoint classes. These differences in structure and organisation may cause inconsistencies when performing mapping, as we shall see later in detail.

4 Alignment

For foundational ontology alignment, i.e., aligning on an entity-by-entity basis, certain aspects of the underlying philosophies of each foundational ontology have been ignored, because else it would result in few or no alignments and for practical usage of their OWL files, they are less pressing issues. In particular, DOLCE is descriptive and contains particulars, while BFO is realist and contains universals (but OWL treats them all as classes either way). We align classes and object properties with equivalence relations first, and use subsumption relations afterward to resolve some mapping inconsistencies.

We create alignments for 20 pairs of ontologies. These ontologies include DOLCE-Lite, BFO,  GFO, FunctionalParticipation,  SpatialRelations, and  TemporalRelations (which are more-detailed modules of DOLCE), BFORO and GFO-Basic. BFORO refers to the merged ontology of BFO with the RO, and GFO-Basic is a less-detailed module of GFO. We perform ontology alignment by using existing tools, documentation and manually using the content comparison, with its axioms and annotations. Further, for each resource (tool, documentation or manual alignment), we measure its accuracy by firstly examining each of its output alignments to determine whether or not the equivalence relation is correct. Accuracy is defined as the number of ‘correct’ alignments over the total alignments given by the resource (Eq. 1), where ‘correct’ denotes the alignment is also in the set of alignments found manually, i.e., what is typically considered as the ‘gold standard’. We define the found measure of the resources as the number of correct alignments over the total possible correct alignments, after manual intervention (Eq. 2).

$$\begin{aligned} Accuracy = \frac{|correct alignments|}{|total alignments_{resource}|} \times 100 \end{aligned}$$
(1)
$$\begin{aligned} Found = \frac{|correct alignments|}{|total alignments_{gold}|} \times 100 \end{aligned}$$
(2)

4.1 Alignment Results

We describe the results of the manual alignments first, and then the results obtained with the matching tools.

Table 1. Equivalence alignments between DOLCE-Lite and BFO; the alignments numbered in bold font can also be mapped.

Manual Alignments. The yield of the manual alignments between the main foundational ontologies (DOLCE-Lite, BFO and GFO) resulted in 35 alignments for GFO \(\leftrightarrow \) DOLCE-Lite, 17 alignments for DOLCE-Lite \(\leftrightarrow \) BFO and 23 alignments for BFO \(\leftrightarrow \) GFO; hence, 75 in total which are listed in Tables 12 and 3. When we consider entity alignments including the related modules of the foundational ontologies (e.g., GFO-Basic), there is a total of 85 alignments. Naturally, there are many more than 85 alignments if we consider identical alignments that occur among the same entities in related modules; e.g., DOLCE-Lite:particular \(\leftrightarrow \) GFO:Individual and FunctionalParticipation:particular \(\leftrightarrow \) GFO:Individual. There are 14 alignments common between these three ontologies, based on the alignments of the ontologies in Tables 12 and 3 which is displayed in Table 4.

Table 2. Equivalence alignments between DOLCE-Lite and GFO; the alignments numbered in bold font can also be mapped.
Table 3. Equivalence alignments between BFO and GFO; the alignments in bold are also mapped.
Table 4. Common alignments between DOLCE-Lite, BFO and GFO.

The manual alignments were aided by the GFO documentation [3] and checked against the alignments proposed by [4, 5]. The GFO documentation [3] contains a list of similarities between GFO and DOLCE which helped with the alignment process. Some of the alignments could not be used, however, due to changes in the two foundational ontologies in the meantime. We were able to use 42 % of the alignments from the documentation. We discuss four equivalence alignments from [5]. We changed the alignment bfo:ProcessualEntities \(\leftrightarrow \) dolce:perdurant to bfo:Occurrent \(\leftrightarrow \) dolce:perdurant, because by definition occurrents and perdurants both represent entities that have temporal parts and unfold in time. Temal et al.’s alignment of bfo:Quality with dolce:physical-quality is more precise than ours, because, as mentioned above, we chose to ignore the some philosophies (the realist debate) with the hope of achieving a higher number of alignments. That is, our mapping has bfo:Quality \(\leftrightarrow \) dolce:quality, thereby ignoring the fact that BFO does not consider abstract entities. We agree with bfo:SpatialRegion \(\leftrightarrow \) dolce:space-region and bfo:TemporalRegion \(\leftrightarrow \) dolce:temporal-region, and use this equivalence, too. Seyed [4] examined only three relations—dependency, quality, and constitution—and found that they are different in DOLCE and BFO. The basic numbers of the alignments are included in Table 5.

Table 5. Comparison of manually performed alignment accuracies of the GFO documentation [3], related works, and ours, and aggregates for mappings.
Table 6. Comparison of alignment accuracies of the matching tools and aggregates for mappings.

Automated Alignments. Table 6 lists the numbers of alignments found by the selected tools. We describe some further data in the remainder of this section.

H-Match generated many alignments, but most of the output was not accurate. Many entity pairs that were matched using H-Match were found to be incorrectly aligned; e.g., DOLCE-Lite:quale \(\leftrightarrow \) bfo:Role. This resulted in us being able to use only 18 % of these alignments, with the rest being false positives. PROMPT was generally unstable resulting in force closure of the application. We could use 56 % of the suggestions it generated, with the rest being false positives; e.g., bfo:Site \(\leftrightarrow \) gfo:Situoid.

While LogMap provided few alignments between the foundational ontologies (less than ten in all cases), most alignments were accurate. The one false positive in LogMap was the alignment of bfo:IndependentContinuant \(\leftrightarrow \) gfo:Independent. YAM++ generated many alignments. However, while most of the alignments for DOLCE \(\leftrightarrow \) BFO and BFO \(\leftrightarrow \) GFO were accurate, only about half were accurate for GFO \(\leftrightarrow \) DOLCE. Overall we were able to use almost 64 % of its alignments. Like LogMap, YAM++ also incorrectly aligned bfo:IndependentContinuant \(\leftrightarrow \) gfo:Independent. Some of YAM++’s other false positive alignments include dolce:generic-constituent \(\leftrightarrow \) gfo:has_sequence_constituent, dolce:quality-space \(\leftrightarrow \) gfo:Space and dolce:temporary-proper-part \(\leftrightarrow \) gfo:has_constituent_part.

HotMatch generated a fair amount of alignments between the ontologies. Overall, we were able to use 91 % of HotMatch’s alignments, with just 2 alignments out of all 22 being false positives. Hertuda’s output was surprisingly similar to HotMatch’s output, with just one more alignment than HotMatch. We were able to use 91 % of Hertuda’s alignments, with just 2 alignments out of all 23 being false positives. Common false positives in YAM++, Hertuda and HotMatch were the alignments between dolce:part \(\leftrightarrow \) gfo:has_part and dolce:part-of \(\leftrightarrow \) gfo:part_of, which is discussed in Sect. 4.2. Optima generated many alignments for each pair. However, there were many false positives, consequently we could use only 29 % of its alignments overall. Optima incorrectly aligned gfo:Continuous \(\leftrightarrow \) bfo:Continuant, dolce:Region \(\leftrightarrow \) bfo:SpatialRegion and dolce:dependent-place \(\leftrightarrow \) bfo:Dependent.

4.2 Alignment Issues

We have encountered two types of issues in alignment: transitivity, where there was no ‘full circle’ alignment between some entities of the three ontologies, and approximate alignments, where there is no clear relationship to describe the match.

Transitivity. Transitivity in entity alignments works as follows: if the equivalence relation holds between entities from the first and second ontology and it holds between entities from the second and third ontology; it necessarily holds between entities from the first and third ontology. Applying transitivity to entity alignments assists in detecting errors. For instance, if one were to align dolce:endurant \(\leftrightarrow \) gfo:Persistant, and gfo:Persistant \(\leftrightarrow \) bfo:Continuant, then by transitivity this means that dolce:endurant is equivalent to bfo:Continuant, which is incorrect, because in most cases, the foundational ontology alignments are transitive. There were two types of exceptions, being the absence of an entity and what can be termed consequences of conflicting philosophies.

Absence of an Entity. An alignment cannot be a candidate for transitivity if there is an equivalence between only two out of the three ontologies. From the three main ontology alignments, the following ones were not transitive due to the absence of an entity:

  • Absence of a DOLCE entity (7 cases): bfo:Entity \(\leftrightarrow \) gfo:Entity, bfo: DependentContinuant \(\leftrightarrow \) gfo:Dependent, bfo:ObjectBoundary \(\leftrightarrow \)gfo:Material_boundary, bfo:Function \(\leftrightarrow \) gfo:Function, bfo:Role \(\leftrightarrow \) gfo:Role, bfo:has_agent \(\leftrightarrow \) gfo:has_agent, bfo: agent_in \(\leftrightarrow \) gfo:agent_in.

  • Absence of a GFO Entity (1 Case): dolce:spatio-temporal-region \(\leftrightarrow \) bfo: SpatioTemporalRegion.

  • Absence of a BFO Entity (17 Cases): gfo:Individual \(\leftrightarrow \) dolce:particular, gfo:Amount_of_substrate \(\leftrightarrow \) dolce:amount-of-matter, gfo:State \(\leftrightarrow \) dolce:state, gfo: Abstract \(\leftrightarrow \) dolce:abstract, gfo:Set \(\leftrightarrow \) dolce: set, gfo:Property_value \(\leftrightarrow \) dolce: qua le, gfo:Value_space \(\leftrightarrow \) dolce:quality-space, gfo:Chronoid \(\leftrightarrow \) dolce:time_ interval, gfo: has_constituant_part \(\leftrightarrow \) dolce:generic-consitituant, gfo: constituant part_of \(\leftrightarrow \) dolce: generic-constituant-of, gfo: necessary_for \(\leftrightarrow \) dolce: generic-dependent, gfo: depends_on \(\leftrightarrow \) dolce: generically-dependent-on, gfo: has_value \(\leftrightarrow \) dolce: has-quale, gfo: value_of \(\leftrightarrow \) dolce:quale-of, gfo: has_boundary \(\leftrightarrow \) dolce: boundary, gfo: boundary_of \(\leftrightarrow \) dolce:boundary-of, and gfo:exists_at \(\leftrightarrow \) dolce:q-present-at.

From this type of transitivity issue, we see that for the three main ontology alignments, in most cases BFO entities are absent. There are a few cases of absent DOLCE entities and one case of an absent GFO entity.

Conflicting Philosophies. The philosophies of foundational ontologies affect their entities to a certain extent, despite already having been lenient. In some cases, two entities that are aligned to each other may not be aligned to the same entity of a third ontology.

  • dolce: physical-endurant \(\leftrightarrow \) bfo: MaterialEntity, dolce: physical-endurant \(\leftrightarrow \) gfo: Discrete_ presential and bfo: MaterialEntity \(\leftrightarrow \) gfo: Material_ persistant. Let us align bfo:MaterialEntity \(\leftrightarrow \) dolce:physical-endurant, ignore their underlying philosophies (i.e., that BFO is an ontology of universals and DOLCE of particulars). However, in GFO, there are two entities for representing this type of entity, based on distinct philosophical notions: gfo: Discrete_presential, being subsumed gfo:Individual, is suited for dolce:physical-endurant while gfo: Material_persistant, being subsumed by gfo:Universal, is suited for bfo:MaterialEntity.

  • dolce: part \(\leftrightarrow \) bfo:has_part, dolce:part \(\leftrightarrow \) gfo:has_abstract_part and bfo: has_part \(\leftrightarrow \) gfo:has_part (idem for their inverses). In DOLCE, both the domain and range of part is particular. In BFORO, there is no domain and range for has_part. In GFO, both the domain and range of abstract_has_part is Item, while both the domain and range for has_part is Concrete. The former relational property may be better suited for DOLCE because it is a descriptive ontology and contains abstract entities. The latter is better suited for BFORO as it is a realist ontology, representing the world as is, thereby containing concrete entities only.

The ontology matching tools discussed in Sect. 4.1 misaligned dolce:part \(\leftrightarrow \) gfo: has_part and their inverses. This is because object property inconsistencies are not fully recognised by reasoners [16], hence their conflicting domains and ranges did not affect the satisfiability of the ontology.

Approximate Alignments. There are a number of approximate alignments between foundational ontology entities. By this we mean that they are not equivalent to each other or subsumed by one another, but share some common characteristics. By identifying these relations between these entities, foundational ontology developers could possibly relate them as sibling classes by grouping them both under a common superclass. We mention three of them.

  • dolce: arbitrary-sum, bfo: ObjectAggregate and gfo: Configuration: All three of these entities describe a collection of something. dolce:arbitrary-sum, however, has no unity criterion e.g., a pencil and laundry basket are together a dolce:arbitrary-sum, and it can contain both dolce:physical-endurant and dolce:non-physical-endurant entities. dolce:physical-endurant is not restricted just to instances of dolce:physical-object but can possibly include dolce:feature and dolce:amount-of-matter. bfo:ObjectAggregate, on the other hand, has overall unity and can be considered as a whole. It is restricted to bfo:Object only, and in the case of BFO, all objects are physical. gfo:Configuration is simply a collection of gfo:Presential facts. gfo:Presentials are not restricted to whole physical objects and can include other gfo:Presential entities. For this reason, it cannot equate to bfo:ObjectAggregate. Furthermore, it holds a restriction that it must contain at least one material entity. dolce:arbitrary-sum could contain physical, non-physical or both entities, with no restrictions.

  • dolce: state and bfo: SpatioTemporalInstant: DOLCE describes dolce:state by using an example of a rock erosion describing state as a time interval of the erosion is collapsed into a time point. Similarly BFO defines bfo: SpatioTemporalInstant as a “connected spatiotemporal region at a specific moment”. The difference between the two lies in the fact that dolce:state is homeomeric while bfo:SpatioTemporalInstant is not.

  • dolce: relevant-part and bfo: FiatObjectPart: DOLCE describes dolce:relevant-part as a feature that is a relevant part of their host; e.g., the edge of a cube. BFO defines bfo:FiatObjectPart as a material entity that is part of an object but not demarcated by physical discontinuities; e.g., the lower portion of the leg. In this sense they are both part objects that are physical entities. However, it is unclear whether dolce:relevant-part is demarcated by physical discontinuities or not and whether BFO’s fiat object parts are ‘relevant’ somehow. This requires further investigation.

4.3 Evaluating Alignments

The alignments identified may be open to further investigation by ontologists for some time, but interoperability is becoming a pressing matter. Therefore, we chose to evaluate the alignments with end-users, who are ultimately the ones who would be using the foundational ontology library for practical ontology development purposes. To this end, we set up an experiment via a web-based survey with a time-limit of two weeks to complete the evaluation. The survey presents the participant with a set of alignments, where every alignment has the following options as answer: Agree, Partially Agree, Disagree, Unsure (i.e., ‘I though about it, and I still do not know’) and Skip. The participants for this evaluation were members of the Digital Enterprise Research Institute (DERI).

Each alignment set received a different number of responses: DOLCE\(\leftrightarrow \)BFO had 18 responses, BFO\(\leftrightarrow \)GFO had 10 responses and GFO\(\leftrightarrow \)DOLCE had 13 responses; Table 7 provides a summary of the responses received for each option. For each alignment set, the highest percentage of the responses were Agree, although not more than for half of the cases: on average, 44.9 % of all responses were for the Agree option, and then Partially Agree. Thereafter, 11.0 % and 17.7 % of the responses were for the Unsure and Skip options, respectively. The smallest portion of responses, 7.1 %, were from the Disagree option. For what the participants agreed upon, in most cases they agreed on the same alignments. An alignment that many participants agreed on is the equivalence of DOLCE:spatio-temporal-region and BFO:SpatioTemporalRegion. In most cases, the Agree option received few or no responses when ontology entity annotations were not clearly defined; e.g., in aligning bfo:DependentContinuant and gfo:Dependent, the latter was annotated with only “Dependent entities.”. The few Disagree options were for different alignments; one that received some Disagree responses is the equivalence of DOLCE:perdurant and GFO:Occurrent. Participants were not united in their Unsure and Skip responses. Most of the general comments received from the participants indicated that the annotations from the foundational ontologies were difficult to understand, not properly defined, and missing in some cases. Perhaps if the annotations were better defined, the number of Unsure and Skip responses would decrease. Also, a more in-depth investigation into the motivations for the participant’s choices may reveal useful results for examining the alignments further.

Table 7. Comparison of alignment evaluation responses.

5 Mapping and Merging

Ontology Mapping uses the alignments from the alignment process to create correspondences between entities in the ontologies. The output from the alignment process is broader, while the output from the mapping process is narrower as inconsistencies affect the mapping process. Merging is performed by creating a new ontology of the source ontologies with their mappings between each other. Ontology mapping and merging was performed by relating classes and object properties in Protégé v4.2 using the Hermit v1.3.6 reasoner. Entities were mapped in the order of their level in the hierarchy, from higher to lower level, because foundational ontologies by definition are general high-level ontologies. Therefore, in mapping, preference must be first given to high-level entities to have agreement among general entities and avoid inconsistencies at that level.

Alignments that cannot be mapped due to logical inconsistencies result in unsuccessful mappings. The inconsistencies were identified by using the following method. For each candidate class mapping:

  1. 1.

    Assert the equivalence for the found alignment.

  2. 2.

    Run the automated reasoner.

  3. 3.

    Check if there are any unsatisfiable classes.

  4. 4.

    If there are unsatisfiable classes, use the reasoner explanation feature to generate an explanation.

  5. 5.

    Analyse explanations.

  6. 6.

    Remove inconsistent mapping, if applicable.

For each candidate object property mapping, since object property inconsistencies and flaws are not properly recognised by reasoners [16], we identified inconsistencies by checking if an object property pair’s domain and range restrictions are satisfiable by using the above method.

The numbers in bold face in Table 4 represent the alignments that resulted in successful mappings between the common entities of the three main ontologies based on the mappings of Tables 12 and 3. From the 14 alignments in Table 4, six successful mappings exist. Recall from the previous section on alignment, there was a total of 85 distinct alignments between all foundational ontologies and related modules, and 75 alignments between the main foundational ontologies. Performing the method to identify inconsistencies in alignments resulted in 42 distinct logical inconsistencies of which 35 alone were from the main ontologies. From all the distinct equivalence alignments, only half were satisfiable and resulted in successful mappings. Comparing these mappings to the alignments found by the tools, LogMap doubled its percentage found to 40 % and performed best compared to the six others evaluated (see Table 6, bottom three rows).

To solve inconsistencies in the mapping attempts, we analysed each alignment on the logical explanation for the inconsistency and the description of the entity provided by the foundational ontology developers, and checked whether it was possible to change the alignment from equivalence to subsumption. However, there are still many unsolvable inconsistencies, mainly due to hierarchical and structural differences in the foundational ontologies. Due to space limitations, we describe only a representative selection of the logical inconsistencies and (logically satisfiable) possible solutions; the full list of inconsistencies is available at http://www.thezfiles.co.za/ROMULUS/.

Inconsistencies Due to Disjoint Classes. For this type of inconsistency, the entities to be aligned are disjoint to each other, either directly, through higher-level equivalence relations or through their subclasses. If entities are disjoint, they cannot overlap, hence cannot be equivalent.

  • dolce: temporal-region - gfo: Temporal_region - bfo: TemporalRegion: The issue with incompatible temporal regions between BFO, GFO, and DOLCE is depicted in Fig. 1 and is a result of the OWL DisjointClasses class axiom between gfo:Concrete, gfo:Space_Time and gfo:Abstract, and between dolce:Abstract and dolce:Perdurant, or, from the other viewpoint: because BFO made TemporalRegion an Occurrent, DOLCE made it Abstract, and GFO neither. This does not seem to be resolvable.

  • bfo: Role - gfo: Role : This is due to disjointness between classes and multiple inheritance. The essential aspects of the situation is depicted in Fig. 2: gfo: Processual_role becomes inconsistent if an equivalence were to be declared between gfo: Role and bfo:Role. Solution: Logically, bfo:Role cannot be equivalent to gfo:Role, but bfo:Role can be subsumed by gfo:Role, or one can have gfo: Relational_role and gfo:Social_role subsumed by bfo:Role.

  • gfo: necessary_for - dolce: generic-dependent : If we were to equate these object properties, we would have to assume that their domains and ranges are equivalent, which is not the case; the situation is depicted in Fig. 3. Solution: Logically, gfo:necessary_for cannot be equivalent to dolce:generic-dependent, because equating their domains and ranges causes inconsistencies. However, dolce:generic-dependent’s domain and range, dolce:particular can logically be subsumed by gfo:necessary_for’s domain and range, gfo:Item. Therefore the relation can be changed to gfo: necessary_for subsumes bfo:generic-dependent.

  • dolce: generic-location - bfo: located_in : This issue is due to disjointness among domain/range. dolce:generic-location’s range is dolce:particular and bfo:located_in’s range is bfo:Continuant. bfo:Continuant is disjoint to bfo:Occurrent and bfo: Occurrent \(\equiv \) dolce:perdurant. In DOLCE, perdurant \(\sqsubseteq \) \(\exists \) has-Quality. temporal-location-q and the domain of dolce:has-Quality is dolce:particular (the superclass of dolce:perdurant). Thus, bfo:Continuant is disjoint to \(\exists \) has-Quality. temporal-location-q, resulting in bfo:Continuant being disjoint to dolce: particular, by means of the above explained axioms. The two relations cannot be equivalent, because equivalence between the range restrictions will be unsatisfiable in the alignment. Therefore dolce:generic-location cannot map to bfo:located_in.

Fig. 1.
figure 1

Graphical depiction of why the aligned gfo:Temporal_Region, bfo:TemporalRegion, and dolce:temporal-region cannot be mapped in any way without causing an inconsistency; \(\equiv \): aligned entities, \(\times \): disjoint entities.

Fig. 2.
figure 2

Visualisation of the root cause of the non-mappable gfo:Role and bfo:role; \(\times \): disjointness, \(\equiv \): equivalence mapping.

Fig. 3.
figure 3

Visualisation of the root cause of the non-mappable gfo:necessary_for and DOLCE-Lite:generic-dependent; \(\times \): disjointness, \(\equiv \): equivalence mapping.

Another unresolvable case is dolce:set - gfo:Set.

Inconsistencies Due to Complement Classes. For this type of inconsistency, the entities to be aligned were found to be complements of each other, either directly, through higher-level equivalences or through subsumption. We describe here one such case.

  • bfo: MaterialEntity - gfo: Material_persistant, which is visualised in Fig. 4. The crucial aspect in GFO is the class axiom \(\mathsf{Universal \sqsubseteq \exists instantiated\_by.Item}\), and the complement for individuals. Concerning mappings, bfo: IndependentContinuant \(\equiv \) gfo:Presential. However, in GFO, \(\mathsf{Presential \sqsubseteq Individual}\) and \(\mathsf{Individual} \mathsf{\sqsubseteq \lnot \exists instantiated\_by.Item}\). Thus, gfo:Material_persistant is a subclass of gfo: instantiated_by some gfo:Item while bfo:MaterialEntity is a subclass of the complement of that class, hence bfo:MaterialEntity cannot be equivalent to gfo: Material_persistant. Solution: The alignment can be changed into bfo: MaterialEntity - gfo: Discrete_presential, which avoids the complement issue but it is not free of argument (recall the “conflicting philosophies” item in Sect. 4.2).

6 Discussion

Given the size of the ontologies and our high tolerance by ignoring underlying philosophies, the amount of alignments, and, even more so, the amount of mappings is less than one may have expected; or: once investigated in detail, the foundational ontologies are, at present, not particularly interchangeable even at the logical level. Only six pairwise mappings exist, i.e., they being, essentially, equivalent throughout all three examined foundational ontologies.

Fig. 4.
figure 4

Visualisation of the root cause of the non-mappable bfo:MaterialEntity and gfo:Material_persistant; \(\equiv \): equivalence mapping.

Table 8. False positives caused by syntactic matching generated by the alignment tools; the terms in italics represent the strings that are common between aligned entities.

Concerning feasibility to carry out automated alignments, in most cases, the tools evaluated with the OAEI performed better than the others, with the exception of Optima. LogMap had the highest accuracy, because it also considers the logic-based semantics of the ontologies and uses automated reasoning services throughout the process, therewith eliminating those false positives that would have led to a logical inconsistency. However, LogMap generated very few alignments compared to other accurate tools (YAM++, Hertuda and HotMatch), indicating that the additional heuristics implemented are too strict at least for foundational ontology alignment.

Most false positive alignments generated by the tools, such as bfo:Independent Continuant \(\leftrightarrow \) gfo:Independent, indicate that the algorithms implement syntactic matching, which, based on the results we obtained, is not sufficient or suitable for foundational ontology matching because many entities have a common syntax e.g., dolce:quality-space \(\leftrightarrow \) gfo:Space both have the string ‘space’ in common but are entirely different entities; Table 8 includes a selection of such false positives that are caused by syntactic matching in the tools when aligning the three foundational ontologies. The tools failed to recognise simple alignments such as dolce:perdurant \(\leftrightarrow \) gfo:Occurrent, bfo:Quality \(\leftrightarrow \) gfo:Property. In this sense, semantic matching is not considered, or if it is, it fails to recognise synonyms of the philosophical scope on which foundational ontologies are built upon. Structural matching is not an effective method either, due to the fact that the hierarchies and structures of the foundational ontologies differ greatly which causes the root distances of mappable entities to differ. For aligning foundational ontologies, it will be useful if existing semantic matchers would include something alike a ‘philosophy WordNet’ that specialises in philosophical terms, synonyms, and definitions used in foundational ontologies.

The results of the tool analysis is a good indication of which tools to experiment with for foundational ontology alignment in general. However, they found less than a third of the actual alignments at this stage, and therefore it is still vital to perform manual alignment for foundational ontologies. The tools also did not generate subsumption relations for any of the alignments, but this could perhaps be an extension to the basic idea of LogMap by means of another call to the reasoner. One could investigate whether Optima is useful to identify accurate alignments among the larger foundational ontologies SUMO [17] and YAMATO [18].

On a positive note, the systematised list of issues now can be taken up by ontologists. While some of the inconsistencies found are quite elaborate, others should be easier to resolve both ontologically (philosophically) and where in the ontology the entity is positioned; e.g., the notion of a mathematical Set is fairly well investigated already, and likewise the different theories of parthood. As such, the results presented here provide a solid foundation for ample ontological investigations. From an engineering viewpoint and in case of urgent need for interoperability, one could take a quite different strategy: OWL 2 EL does not have negation, and therefore it should be possible to assert more mappings between the OWL 2 EL modules of the foundational ontologies. Whether that is the best strategy is a different matter, and it does not take away the substantial list for which there was no transitivity due to ‘missing’ entities. In any case, we now know that some mappings are possible, hence, also some foundational ontology interoperability.

7 Conclusion

The foundational ontologies DOLCE, BFO, and GFO were pairwise aligned and mapped. They were aligned manually, which served as the ‘gold standard’, and with the aid of seven alignment tools. The accuracy and percentage of alignment found were compared, where LogMap had the highest accuracy with 94 % and HotMatch and Hertuda as close second, and YAM++ found the most correct alignments (31 % of the total manual alignments among the three main ontologies (75)). The evaluation of the tools indicated that the algorithms currently implemented by the tools are not well-suited for foundational ontology mediation. Declaring the correspondences in all ontology files based on its 85 alignments resulted in only 43 mappings, with the remaining 42 causing logical inconsistencies. The inconsistencies are due primarily to differences in their respective hierarchical structure with conflicting axioms, such as complement and disjointness, and incompatible domain and range restriction. On closer inspection, some inconsistencies may be resolved using subsumption or making them sibling classes.

Future research includes mapping other foundational ontologies, adding subsumption mappings, and evaluating the current alignments with the foundational ontology developers. We also aim to implement a facility for community input on the alignments and mappings, which could to be facilitated via the foundational ontology library that is available online at http://www.thezfiles.co.za/ROMULUS/. ROMULUS [19] is the first online repository of machine- processable, modularised, aligned, and logic-based merged foundational ontologies. It encompasses the typical repository functions e.g., online browsing, metadata, downloadable resources as well as specific tools for foundational ontologies such as a foundational ontology recommender, ontology modules for easier reuse, and a ontology mediation outputs (alignment, mapping, merging) among the BFO, GFO and DOLCE foundational ontologies.