We present a method for converting an ontology from its current foundational ontology to another. We use the merged ontologies from ROMULUS, depending
on which ontologies we wish to convert between. If we wish to convert a domain ontology linked to a source foundational ontology S to a target foundational
ontology T, we use one of the merged ontologies that include ontologies S and T.
In the following method, we shall adopt the following conventions:
FOS: A source foundational ontology.
FOT: A target foundational ontology.
EntityS: The highest-level class in the taxonomy of FOS with equivalence relations to FOT.
EntityT: The highest-level class in the taxonomy of FOT with equivalence relations to FOS.
EntityDS: A main entity containing domain entities linked to FOS.
EntityDomain: A domain entity.
EntitySuper: A superclass of an EntityDomain.
EntitySuperEqual: A class that is equivalent to EntitySuper.
Create new ontology: Create a new ontology in Protégé.
Import ontology files: Directly import the following files into the ontology: the domain ontology file and the merged foundational ontology file from ROMULUS.
Group ontology entities into highest-level taxonomy classes: To simplify the process, we group the entities into highest-level taxonomy classes. In some cases there are already highest-level taxonomy classes e.g., DOLCE's highest-level class in the taxonomy is particular. Usually there should be two highest-level taxonomy classes: EntityS and EntityT. The domain entities are subsumed by EntityS. However, in some cases where the domain ontology uses a different version of FOS, we have a third highest-level taxonomy classes, EntityDS. If there are two highest-level taxonomy classes in the ontology, we skip the next two steps of the methodology, steps 4 and 5. If there are three highest-level taxonomy classes in the ontology, we proceed with the next step of the methodology, step 4.
Move domain entities from EntityDS to EntityS: EntityDS and EntityS contain the same top-level classes, since they are of the same FOS. EntityDS, is however, populated with entities from a domain. Move an EntityDomain from EntityDS to EntityS as follows:
Select any EntityDomain from EntityDS to be moved to EntityS.
Identify EntityDomain's EntitySuper from EntityDS. If EntityDomain's EntitySuper is EntityDS, move EntityDomain to be a subclass of Thing, and restart the method with the next EntityDomain. In this case, EntityDomain is not contained in FOS and kept separate.
Identify a class with the same name as EntitySuper in EntityS.
Add EntityS's EntitySuper as a superclass of EntityDomain.
Remove EntityDS's EntitySuper as a superclass of EntityDomain.
Continue moving EntityDomain entities from EntityDS to EntityS until there are no longer any EntityDomain entities in EntityDS.
Move domain entities from EntityS to EntityT: EntityS and EntityT contain classes from FOS and FOT respectively, linked by equivalence relations. However, EntityS contains EntityDomain entities. Move an EntityDomain from EntityS to EntityT as follows:
Select any EntityDomain from EntityS to be moved to EntityT.
Identify EntityDomain's superclass EntitySuper from EntityS.
Identify a EntitySuperEqual corresponding to EntitySuper in EntityT. If there is no EntitySuperEqual in EntityT, we treat the identified EntitySuper in EntityS as an EntityDomain, until we find an EntitySuper that has a corresponding EntitySuperEqual in EntityT. If there is no corresponding EntitySuperEqual thereafter, we move the EntityDomain to be a subclass of Thing,and restart the method with the next EntityDomain. In this case, EntityDomain is not contained in FOT and kept separate.
Add EntityT's EntitySuper as a superclass of EntityDomain.
Remove EntityS's EntitySuper as a superclass of EntityDomain.
Continue moving EntityDomain entities from EntityS to EntityT until there are no longer any EntityDomain entities in EntityS.
Repeat: Repeat steps 3 - 5 for object properties in the ontology.
Delete EntityS and EntityDS: Once all EntityDomain entities have been moved from EntityS and EntityDS; delete EntityS, EntityDS and its subclasses from the ontology. Now EntityT exists as the main entity. EntityT contains the EntityDomain entities linked to FOT, as desired.