A Semantic Web Based Ontology Mapping and Instance Transformation Framework Borna Jafarpour Syed Sibte Raza Abidi NICHE Research group NICHE Research group Computer Science Department, Dalhousie University Computer Science Department, Dalhousie University Halifax, Canada Halifax, Canada borna@cs.dal.ca Sraza@gmail.com We present a semantic-based ontology mapping framework ontologies. In practice, ontology mappings methods map the that offers instance transformation and discovery of new ontology elements between two ontologies based on the mapping using reasoning. Our framework comprises an similarity of their names, their relations and their shared expressive OWL-Full Mapping Representation Ontology (MRO) instances using name-based, structure-based and instance- and a mapping translation method. Ontology mappings are based approaches respectively ‎[10]. represented in terms of an instantiation of the MRO. We define formal semantics for our ontology mapping representation by An alternative mapping approach is called semantic-based translating the ontology mappings in OWL-Full to OWL and ontology mapping. This approach has two steps ‎[10]: (i) SWRL in order to derive new ontology mappings and perform anchoring step in which a number of initial mappings or instance transformation using reasoning. We have evaluated the anchors are created between two ontologies using name, workings of our ontology mapping framework by mapping three instance or structure based ontology mapping approaches; (ii) ontologies each representing a disease specific Clinical Practice reasoning step in which a reasoner performs reasoning on the Guideline (CPG) to a general CPG representation ontology. The mappings and the mapped ontologies to (a) transform instances intent of the mapping is to provide knowledge-driven decision between the two ontologies; and (b) improve the existing support for the management of patients with multiple diseases. mappings by discovering new ones based on the formal semantics of the mappings and the mapped ontologies. Keywords—Ontology; Semantic Web; Ontology mapping; Typically, proprietary reasoning algorithms ‎[1]‎[4]‎[14], Instance Transformation; SWRL, OWL propositional logic ‎[11]‎[12] and Description Logic (DL) ‎[5]‎[6]‎[7]‎[8]‎[9] are used in the reasoning step. I. INTRODUCTION The quality of ontology mapping based on a semantic- Complex knowledge-centric systems demand the based approach is contingent on the ontology mapping integration of multiple knowledge objects in order to achieve a representation language’s‎ level‎ of‎ expressivity‎ and‎ formal‎ comprehensive knowledge model. Given the open nature of semantics—reasoning over a more expressive ontology can semantic web, several heterogeneous knowledge models exist yield more new mappings as opposed to reasoning over a less for representing the knowledge in any domain area. For expressive ontology. Our review of the existing mapping instance, in healthcare, there exist variety of knowledge models representation languages ‎[1]‎[2]‎[3]‎[4]‎[9]‎[11]‎[12]‎[13]‎[15] and to model and computerize clinical practice guidelines (CPG)— an existing surveys ‎[13] reveal that most of the current these models share a range of concepts but differ in the ontology mapping languages suffer from lack of expressivity interpretation and specification of these concepts. To develop a and formal semantics. Lack of formal semantics stops us from holistic knowledge model based on multiple heterogeneous using the mappings in a semantic-based ontology mapping knowledge models, therefore demands the establishment of approach. standardized interoperability specifications and criterion, at both the structural and semantic levels, to achieve the To address the lack of expressivity and formal semantics in integration of multiple heterogeneous knowledge models. ontology mapping languages, in this paper we use semantic web technologies to present a semantic-based ontology Lately, ontologies have emerged as expressive knowledge mapping approach that entails: (a) a general purpose OWL-Full representation formalisms, together with methods to reason based Mapping Representation Ontology (MRO) that serves as over the knowledge. An ontology typically represents a an expressive ontology mapping language that can represent specific aspect of knowledge with varying levels of abstraction complex mappings such as predefined mapping patterns, and description. To formulate a broader and holistic knowledge conditions, condition satisfaction criteria, variables, structural model, researchers aim to integrate multiple existing ontologies modifications and mathematical operators. An instance of the that demand an interoperability solution that aligns MRO represents the mappings between a source and a target heterogeneous ontologies in keeping with the domain-specific ontology; and (b) translation algorithm to translate the interpretations and constraints surrounding knowledge instantiations of the MRO (which are in OWL-Full and hence consistency. A semantic interoperability framework aims to undecidable) to OWL-DL or OWL 2 RL + SWRL which is a establish explicit and well-defined mapping between two decidable combination. The translated mappings and the mapped ontologies are reasoned over to achieve both instance ontologies. Afterwards, the validity of the formula is checked transformation and to discover new mappings. Please note that by using a propositional satisfiability solver. BerkMin ‎[11] and our approach is not problem-specific and can be used for GRASP ‎[12] are two examples to name. None of these mapping any two ontologies as long as they are represented in approaches goes beyond finding equivalence, subclass, and OWL. complement relationship between classes. We believe that this is due to lack of expressivity in propositional logic for the task We chose to represent mappings in OWL-Full and then of ontology mapping. translate them to OWL+SWRL instead of using OWL+SWRL directly because of the following reason: (a) The expressivity Description logic reasoners have also been used in the of MRO being OWL-Full—i.e. using properties and classes as reasoning step of semantic-based ontology mapping instances—makes the ontology mappings more readable and approaches. Two approaches that use description logic to find less verbose—i.e. with fewer triples compared to OWL-DL; (b) disjointness, overlap, inclusion and equivalence relations It enables us to support conditional mappings and complex between concepts are reported in ‎[5]‎[7]. Meilicke and condition satisfaction criteria, meta modelling, Boolean colleagues ‎[6] used description logic to debug the mappings by operators and converting ontology elements and creating new detecting inconsistencies. In a theoretical work ‎[8] it is ones which are not directly supported by either OWL or suggested that description logic can be used for reasoning SWRL. These aspects of ontology mapping are supported by about the mapping themselves to find containment, minimality, automatic generation of several OWL axioms and SWRL rules consistency and embedding attributes in them. Therefore, DL that simulate the lacking feature during the translation process; has been used for reasoning about the mappings, debugging (c) SWRL rules are difficult to write and can easily become them and deriving simple mappings (class equivalence, etc.) undecidable if not written correctly. In our translation but no attempt has been made to represent more complex algorithm, DL-Safe SWRL rules are generated automatically mappings such as value transfer mappings or mathematical thus relieving the user about decidability concerns. computations. We believe that lack of an expressive mapping representation language that formally defines the mapping In order to evaluate the efficacy of our ontology mapping semantics in DL is limiting the capabilities of DL-based framework, we instantiated MRO to map three disease-specific semantic-based mapping methodologies. CPG ontologies to a general CPG ontology. We then successfully transformed instantiations of the source ontologies There are also approaches such as ‎[1] and ‎[3] that translate to instantiations of the target ontology. The problem being the mappings to OWL and SWRL to use OWL reasoners. pursued here is to handle comorbidities by integrating two or These methodologies transform the mapping to either OWL or more disease-specific CPG to manage a patient with multiple SWRL but not a combination of them. However, we believe simultaneous diseases. that OWL or SWRL cannot be used separately for mapping ontologies unless we need very low levels of expressivity. II. RELATED WORK Therefore, we can conclude that complex mappings are not possible to be transformed using these approaches. Moreover, In this section, we review the existing semantic-based no explanation or details of the translation process have been ontology mapping approaches and the existing mapping provided in this regard. representation languages. A. Semantic-Based Ontology Mapping Approaches B. Ontology mapping representation languages These approaches can be categorized based on the In this section, we review the expressivity levels of the reasoning techniques that they use. Literature reports on using mapping representation languages with formal semantics. We proprietary reasoning algorithms ‎[1]‎[4]‎[14], propositional reviewed the literature trying to define the requirements of the satisfiability solvers ‎[11]‎[12] and description logic reasoners mapping representation languages ‎[13]‎[15]. The support for ‎[5]‎[6]‎[7]‎[8]‎[9]. mathematical, Boolean, string and structural modification operators, frequently used mapping patterns, predefined set of Methodologies that use proprietary reasoning algorithms relations between ontology elements, variables and the ability such as ‎[1]‎[4]‎[14] are not desirable because of the following to express conditions and condition satisfaction criteria are the disadvantages: (a) Because of their proprietary algorithms, they most important expressivity requirements identified in these can’t‎ benefit‎ from‎ the‎ existing‎ reasoners‎ and‎ a‎ special‎ publications. reasoning engine should be developed in order to perform the reasoning step; (b) Since these engines can only perform Many of the existing mapping representation languages reasoning on the mappings and not the ontology representation such as MAFRA ‎[4], C-OWL ‎[9] and many others languages they cannot exploit the internal structure ‎[1]‎[4]‎[5]‎[6]‎[8]‎[9]‎[11]‎[12] are only capable of expressing (knowledge) of the ontologies to draw new mappings based on simple relations such as equivalent, disjoint, subclass and super them. class between ontology classes. A review of 13 of these languages in ‎[13] shows that 61% of all of them are only There are semantic-based algorithms that use propositional capable of expressing the equivalence relationship. Only C- logic to perform reasoning. In these approaches, a theory is OWL has formal semantics that can be used by reasoners in the built by conjunction of the axioms from the mapped ontologies. semantic-based ontology mapping. Even though authors of This theory can be constructed by using one of the name, MARFA claim that they have formal semantics no details are instance or structure based approaches. Then, a matching provided in that regard. OWL is more expressive than these formula is made for each pair of classes from the mapped languages as it supports a wide range of predefined relations the result of using SWRL rules, only DL-Safe rules ‎[17] are between classes, properties and instances. It also supports a added in the translation process. As an example, the large number of class and property manipulation operators that instantiation of MRO that expresses Human and Person classes can be used towards structural modification. The rest of the are equivalent is translated to: desired features described earlier are not supported by OWL. o1:Human owl:equivalentClass o2:Person. Having formal semantics makes it possible to use OWL in the reasoning step of a semantic-based ontology mapping 3. Reasoning: Finally, we use OWL reasoners to perform approach. reasoning on the translated mappings and the mapped ontologies to improve the mapping by discovering new ones An important requirement of these languages is the ability and to perform instance transformation. As an example, The to support variables and to express mathematical, Boolean, following SWRL rule which is the result of the translation of date, string computation and comparison and structural an instantiation of MRO to SWRL, calculates the Body Mass modification operators. SWRL is the only language that is able Index (BMI) of an instance of the class o1:Person and assigns to express a wide list of the necessary functions for mappings it to the class o2:ObesePerson if the value of the BMI is that are supported by the concept of built-ins. This language greater than 30 and the condition c1 is satisfied. however cannot support Boolean operators, mapping patterns, conditions, qualified cardinality restrictions and some of the o1:Person(?InstVar), o1:hasHeight(?InstVar, property relations and structure modifications operators that are ?HeightVar), o1:hasWeight(?InstVar, expressible in OWL such as union operator. SWRL also has ?weightVar),swrlb:divide(?BMIVarVar, formal semantics and can be used in semantic-based ontology ?func1SWRLVar,?HeightVarVar),swrlb:divide(?fun mapping approaches. c1Var,?weightVar,?HeightVar),swrlb:greaterThan (?BMIVar, 30),SatisfiedCondition(c1)-> Two expressive mapping languages are discussed in ‎[2] and o2:ObesePerson(?o1InstVar), [‎ 3]. The language in ‎[2] supports a wide range of mappings o2:hasBMI(?o1InstVar, ?BMIVar) patterns, conditions and variables. However, this language does As a result of reasoning on this rule and source and target not support representation of complex condition satisfaction ontologies all together, the reasoner infers that an instance of criteria, and mathematical, Boolean, string and date operators. the Person class in the source ontology with the weight of 97kg The language in ‎[3] supports a large number predefined set of and height of 179cm belongs to the class o2:ObesePerson in relations between ontology elements, mapping patterns, ability the target ontology and has the value 32.2 for the property to express conditions and structural modification operators. o2:hasBMI. In this way, instances of the o1:Person class in the Even though some descriptions of the formal semantics of source ontology are transformed to instances of the these languages are discussed, enough details for a practical o2:ObesePerson class in the target ontology. We have used implementation of a semantic-based ontology mapping Pellet as our reasoner since it supports both OWL and SWRL. approach are not provided. Any other reasoners with support for OWL and SWRL can be used for this purpose. III. OUR ONTOLOGY MAPPING APPROACH Our ontology mapping approach entails the following two IV. MAPPING REPRESENTATION ONTOLOGY components: A Mapping Representation Ontology (MRO) in In this section, we describe MRO, its classes, properties and OWL-Full to represent the ontology mapping; and a translation instances. In order to easily identify classes, properties and algorithm that transforms an instantiation of the MRO to OWL instances in the text, class names are italicized and their first + SWRL. Our ontology mapping approach is pursued by letter are Capitalized (e.g. ClassNameExample), property performing the following three steps: names are italicized (e.g. propertyExample) and instance 1. Anchoring (MRO Instantiation): In the first step, names are underlined (e.g. instanceExample). initial inter-ontology mappings are created by establishing semantic relations between classes, properties and instances of A. Mappings and Relations the mapped ontologies. These mappings can be either created In order to represent mappings between instances, using existing automatic discovery algorithms such as methods properties and classes of source and target ontologies we have based on similarity of names or by a domain expert. Due to created the Mapping class. Three types of mappings have been complexity of the mappings between ontologies of our domain modeled in MRO using the following classes: area, we opted to create the initial mappings manually. RelationalMapping, TransformationMapping and Therefore, a mapping between two ontologies is an ValueTransferMapping. instantiation of the MRO created by the domain expert. For instance, by instantiating MRO we may indicate that classes RelationalMappings express a relation between two Person and Human from source and target ontologies are ontology elements. hasSource and hasTarget properties with equivalent classes. Source and target ontologies are represented the domain of Mapping and range of OWL:thing are used by o1: and o2: name spaces in the rest of the paper. assign the source and the target elements to a mapping. The 2. Translation to OWL-DL + SWRL: In the next step, we hasRelation Property with the domain of RelationalMapping transform the instantiation of MRO to a combination of OWL- and the range of MappingRelation defines the relation in a DL or OWL2 RL + SWRL depending on the expressivity relational mapping. Depending if the relation is between two needs of the mappings. To avoid the possible undecidability as instances, properties or classes, one of the instances of the B. Variables InstanceRelation, PropertyRelation or ClassRelation classes is Variables that are represented by the Variable class can be used. In the following example we have used used to represent values or a fragment of the ontology and be subClassRelation an instance of the ClassRelation to map the used as the source or target of the mappings. Fig. 1 shows o1:Father class as a subclass to the o2:MalePerson class: subclasses of the Variable class. It has two subclasses: ClassVariable, InstanceDataVariable. :m1 a:RelationalMapping; :hasSource o1:Father; :hasTarget o2:MalePerson; :hasRelation :subClassRelation TransformationMapping specifies how the source ontology elements need be structurally modified and transformed to elements of the target ontology. Two types of transformation mapping have been modeled: (i) Property to class mapping represented by PropToClassTransMapping class. As an example, a property to class transformation mapping transforms the OWL triple o1:john o1:isMarriedTo Fig. 1. Subclasses of the Variable Class o1:jane to 1) ClassVariable: This class and its associated properties o2:john_jane_marriage a o2:Marriage; o2:hasMalePartner o1:john; can be used to represent a class of instances. It has two o2:hasFemalePartner o1:merry. subclasses: ClassPropertyHasValue and ClassPropertyQualifiedCardinality. ClassPropertyHasValue As you can see, an instance of the class o2:Marriage for can be used to create a variable which represents a class whose each pair of instances connected by the property o1:isMarriedTo should be created. The following instantiation instances have a specific value for a specific property. For of the mapping class represents this mapping from o1 to o2. instance, the following class variable represents the students who have taken course math101 for the summer: :m a :PropToClassTransMapping; :hasSourceProperty o1:isMarriedTo :cv1 a :ClassPropertyHasValue; :hasTargetClass o2:Marriage; :classVariableHasClass o1:Student; :hasTargetProperty1 o2:hasMalePartner; :classVariableHasProperty o1:hasSummerCourse; :hasTargetProperty2 o2:hasFemalePartner. :classPropertyRestrictionHasValue o1:math101. Please note the hasSourceProperty, hasTargetClass, An instance of the ClassPropertyQualifiedCardinality class hasTargetProperty1 and hasTargetProperty2 properties in this represents instances that have a restriction on the number and mapping and their purposes. type of values that a specific property can have. For instance, we can create a class that represents students who have (ii) Class to property mapping which is the exact opposite registered for at least two elective courses: of the property to class mapping. This mapping is represented :cv2 a: ClassPropertyQualifiedCardinality; by the ClassToPropertyTransMapping class. The following :classVariableHasClass o1:Student; instantiation of the mapping ontology performs the exact :classVariableHasProperty o1:hasCourse; opposite transformation in the abovementioned example from :classPropertyQCROnClass o1:ElectiveCourse o2 to o1: :hasCardinalityType :min; :hasNumericValueForCardinality “2”^^xsd:int. :m a :ClassToPropertyTransMapping; :hasTargetProperty o1:isMarriedTo hasCardinalityType with the range of Cardinality :hasSourceClass o2:Marriage; represents the cardinality type. Instance of the Cardinality class :hasSourceProperty1 o2:hasMalePartner; are any, all, min and max. :hasSourceProperty2 o2:hasFemalePartner. 2) InstanceDataVaraible: They have a similar purpose to Please note the hasTargetProperty, hasSourceClass, data varible in programming languages. They can hold a hasSourceProperty1 and hasSourceProperty2 properties in this string, numeric, boolean values or represent an instance of the mapping and their purposes. ontology using sublcasses StringVariable, NumericVariable, ValueTransferMappings perform mathematical, string and BooleanVariable and InstanceVariable respectively. In the date computation and comparison to find the new value in the following example, we create an instance variable which target ontology based on the value of the source ontology. An represents all the instances of the Student class in the source instance of this mapping would be computing the Body Mass ontology and a data variable which represents the weight of Index in the target ontology based on the weight and the height the student represented by the instance variable: of a person in the source ontology. No relation is assigned to this type of mapping. The hasFunction property with the range :studentVar a :InstanceVariable. of Function is used to assign the participating functions in data :weightVar a :NumericVariable. transformation to a mapping. :cv1 a :ClassPropertyHasValue; Boolean‎ variable‎ with‎ the‎ value‎ “true”‎ if‎ they are equivalent :hasInstanceVariable :studentVar; classes or with the value “false”‎ otherwise. notEqualInstance :classVariableHasClass o1:Student; works the opposite way. :classVariableHasProperty o1:hasWeight; :classPropertyRestrictionHasValue :weightVar. D. Conditions The value of the weightVar variable can be compared with Mappings may be conditional. Property hasCondition with a predefined number and the result can be used to make the the domain of Mapping and range of Condition assigns decision whether the instance variable studentVar belongs to conditions to a mapping. Condition class represents the the class o2:ThinStudent or o2:NormalWeightStudent in the conditions. hasCardinalityType with the domain of Mapping target ontology. In order to perform such a mapping we need to and the range Cardinality represents the cardinality type. be able to define mathematical functions. Instance of the Cardinality are any, all, min and max. Data type property hasNumericValueForCardinality with the domain of C. Functions and Operators Mapping shows the number of conditions that should be Expressivity of a mapping representation language is highly satisfied. A mapping whose condition satisfaction criterion is dependent on its support for representation of Boolean, met is considered for mapping and instance transformation mathematical, string, date and instance comparison and otherwise it is ignored. Using the abovementioned properties, computations. one is able to express that at least three conditions of a mapping should be satisfied in order to participate in the The Function class is the smallest entity that can be used mapping process. for computation in our mapping ontology. Each function accepts an operator, a set of input variables and generates an output. A function has at most two inputs that are assigned to it V. TRANSLATION OF MRO FROM OWL-FULL TO OWL- by hasInput1 and hasInput2 properties with the domain of DL + SWRL Function and range of Variable. Outputs of functions are In order to use an instantiation of MRO (representing an assigned to them by the object property hasOutput with the ontology mapping) in the reasoning step of our semantic-based range of Variable class. The operator of a function is assigned ontology mapping approach, we translate it to a combination of to it by the hasOperator property with the range of Operator. OWL-DL + SWRL or OWL2-RL + SWRL depending on the The Operator class represents all the possible operators that level of expressivity needed to represent the mapping. In this can be applied to ontology elements during the mappings. Fig. way, the translated mappings, the source and the target 2 shows the subclasses of the Operator class. ontologies all can be regarded as a single ontology and an OWL reasoner can be used to improve the existing mappings by discovering new ones and perform instance transformation. Our translation algorithm performs the following steps on each mapping: (1) Put all the non-output class variables in list1. Put all the output variables (Except for Boolean variables) in list2. Put all input Boolean output variables in list3. (2) Translate the variables in list1 until no further transformation is possible. (3) Translate the variables in list2 until no further transformation is possible. (4) If list1 and list2 are empty, go to 5 else go to 2. (5) Translate all the Boolean variables in list3 and process Fig. 2. Subclasses of the Operator class conditions. (6) If all mappings are translated then go to 7 otherwise go to Other than Boolean, mathematical and string operators, we the next mapping have created the following operators to help with the (7) Prepare the translated mapping for reasoning according to mappings: 1. SetOperator: They are used to create intersection, the translated variable. unions and complements of classes. 2. ConvertOperator: Lists 1 and 2 are repeatedly swept for variables to be Instances of the ConvertOperator that are convertToClass, translated until both of the lists are empty. The reason is that convertToInstance and convertToProperty are used to convert translation of all of the output variables depends on the input any element of the source ontology to a class, instance or variables and the translation of some of the input variables may property respectively in the target ontology. 3. depend on output variables. For example, an instance variable CraeteOperator: class is used for creating new elements in the may belong to a class using property classVariableHasClass target ontology during the mapping. 4. that is the output of a set function. In order to translate that ClassComparatorOperator: Class comparators are used in the instance variable, the class variable that it belongs to should be functions that compare classes to find sub-class, super-class translated in list2 first. Steps 2, 3, 5 and 7 are further discussed and equivalence relations. 5. InstanceOperator: Instances of in the following sub-sections. this class are equalInstance and notEqualInstance. The output of a function comparing two instances using equalInstnace is a A. Step 2 translation of list1 B. Step 3 translation of list2 These variables are either translated to OWL constraints or Output variables with different operators are translated SWRL axioms. If a variable has a value for one of the differently. For instance, set operators are translated to OWL properties hasInstanceVariable or classVariableHasValue, it is axioms that make use of owl:intersectionOf, owl:unionOf etc. translated to a SWRL axiom. In order to understand the As an example, considering the following mapping function: translation process we go through the following example: :func1 a :Function; :cv1 a :ClassVariable; :functionHasInputVariable1 o1:Male :hasInstanceVariable :personVar; :functionHasInputVariable2 o1:Parent :classVariableHasClass o1:Student; :functionHasOperator :intersectionSO :classVariableHasProperty :hasWeight; :functionHasOutputVariable :func1OutVar. :classVariableHasValue o1:weightVar. This example is translated to: Firstly, two SWRL variables are made with the name of the :func1OutVar :variableHasClassValue values of properties hasInstanceVariable and [a owl:class; classVariableHasValue +‎“SWRLVar”: owl:intersectionOf( :Parent :Male)]. :personVarSWRLVar a swrl:Variable. Output variables of functions that make use of :weightVarSWRLVar a swrl:Variable. mathematical operators are translated to SWRL rules that make Then a SWRL class atom is made to represent the class to use of SWRL built-ins. For instance, in order to add up two which the created instance variable belongs. This class which is variables a and b and put the result in the variable c, we create represented by the classVariableHasClass property is the following function: o1:Student: :a a :NumericVariable. :b a :NumericVarable. [a swrl:ClassAtom ; :addFunc a : Function; swrl:argument1 :personVarSWRLVar; :hasInput1 :a; :hasInput2 :b; :hasOutput :c; swrl:classPredicate o1:Student]. :hasOperator :mathDivide. Finally, another axiom is created to show that the created This example is translated to: SWRL variables are connected using the property indicated by [a swrl:BuiltinAtom ; the classVariableHasProperty that is hasWeight here: swrl:arguments (:outputSWRLVar :bSWRLVar [a swrl:DatavaluedPropertyAtom ; :aSWRLVar); swrl:builtin swrlb:divide]. swrl:argument1 :personVarSWRLVar; swrl:argument2 :weightVarSWRLVar; C. Step 5 translation of list3 and processing Conditions swrl:propertyPredicate o1:hasWeight;] Since OWL and SWRL do not support Boolean operators, mappings are first translated into a single mapping rule without Depending if the translated class variable belongs to the considering the Boolean functions in it. Then we iterate source or the target of the mapping, these created SWRL through all the possible combination of values of the non- axioms are added to the body or the head of SWRL rule output Boolean variables and compute the values of the representing this mapping respectively. Boolean output variables in list3. As we iterate through the If a variable is not translated to SWRL rules, it is translated values, we create a copy of the existing SWRL rule created for to OWL axioms. Depending on the values of the properties the current mapping and add the SWRL axioms that represent classPropertyQCROnClass, hasCardinalityType, and the current values of both input and output Boolean variables. hasNumericValueForCardinality a class variable is translated In this way, each rule is copied to several rules each to a cardinality restriction in OWL-DL or a qualified representing a combination of the Boolean input variables. In cardinality restriction in OWL-2. In the following example, cv1 this way, each created SWRL rule handles a specific class variable represents instances that have maximum of two combination of input Boolean variables. different values from the SummerCource class for the In order to handle conditions, we go through the created hasCourse property: rules in the previous step and discard the SWRL rules in which :cv1 a :ClassVariable the assigned Boolean variables do not meet the condition :classPropertyQCROnClass o1:SummerCourse; satisfaction criteria. In this way, a great number of created :classVariableHasProperty o1:hasCourse; SWRL rules are discarded in this step. :hasCardinalityType :max; :hasNumericValueForCardinality “2”^^xsd:int. D. Step 7 preperation of the mappings for reasoning The above example is translated to the following OWL Mappings represented by SWRL rules are ready for triples: reasoning. However, relational mappings that are represented [a owl:Restriction; by OWL axioms need the final translation from OWL-Full to owl:onClass o1:SummerCourse; OWL-DL. During this translation, all the variables are replaced owl:onProperty o1:hasCourse by their translated values. For instance, consider the following owl:maxQualifiedCardinality “2”^^xsd:int] translated variable and mapping: :func1OutVar :variableHasClassValue [a owl:class; instance transformation automatically in a semantic-based owl:intersectionOf(o1:Parent o1:Male)]. ontology mapping approach. For future work, we are interested :m1 a:RelationalMapping; in using the functions provided by either SQWRL or :hasSource o1:func1OutVar; SPARQLE query languages to improve the mapping :hasTarget o2:Father; representation expressivity. :hasRelation :subClassRelation Acknowledgements: This research project is sponsored by a This example is translated to: research grant from Green Shield, Canada. The authors [a owl:class; acknowledge the support of Green Shield, Canada. owl:intersectionOf(o1:Parent o1:Male) ] rdfs:subClassOf o2:father. REFERENCES VI. EVALUATION [1] J. Euzenat. "An API for ontology alignment," in The Proceeding Of Semantic Web ISWC 2004, S. McIlraith, D. Plexousakis and F. Mapping health informatics related ontologies especially Harmelen, Eds. Berlin Heidelberg: Springer, 2004, pp. 698-712. CPG ontologies is usually a challenging task due to their high [2] F. Scharffe, J. Bruijn, D. Foxvog. “D 4.3.2 ontology mediation patterns levels of expressivity. In order to evaluate the efficacy of our Library V2,”‎ Deliverable D4.3.2, EU-IST Integrated Project (IP) IST- 2003-506826 SEKT, 2006. mapping representation language, we used it to map 3 CPG ontologies with a total of 9 instantiations to a general CPG [3] F. Scharffe, A. Zimmermann, “D 2.2.10 Expressive alignmentlanguage and implementation”, Deliverable D2.2.10 EU-IST Integrated Project representation ontology. During the mapping process, we did (IP) IST-2004-507482 SEKT, 2007. not come across a mapping pattern or an operator that was not [4] A. Maedche, B. Motik, N. Silva and R. Volz, "MAFRA - A MApping supported by our mapping ontology. We translated the FRAmework for distributed ontologies," in Proceedings of the 13th mappings to OWL + SWRL and performed reasoning on them International Conference on Knowledge Engineering and Knowledge in order to discover new mappings and to perform instance Management. Ontologies and the Semantic Web, 2002, pp. 235-250. transformation. We executed all the 9 transformed [5] A. Sotnykova, C. Vangenot, N. Cullot, N. Bennacer and M. Aufaure, instantiations using the execution engine developed in ‎[16] for "Semantic mappings in description logics for spatio-teMROral database schema integration," in Journal on Data Semantics III, S. Spaccapietra executing our general CPG ontology. We also executed these and E. Zimányi, Eds. Berlin / Heidelberg: Springer, 2005, pp. 586-586. CPG in their original format using their own proprietary [6] C. Meilicke, H. Stuckenschmidt and A. Tamilin, "Improving execution engine. We compared the execution results generated automatically created mappings using logical reasoning." in Ontology by our execution engine and the original execution engines for Mapping Workshop at ISWC, Athens, GA, USA, 2006, pp. 61-72. three imaginary patient scenarios. In all 9 cases, both execution [7] D. Calvanese, G. D. Giacomo and M. Lenzerini, "Ontology of engines generated the exact same recommendations. This integration and integration of ontologies," Description Logics, vol. 49, indicates that the mapping has been accurate and the instances pp. 10-19, 2001. are transformed successfully. In all three mappings, the [8] H. Stuckenschmidt, L. Serafini and H. Wache, "Reasoning about translation algorithm translated the mappings to either to ontology mappings," ITC-IRST, Trento, 2005. OWL-DL or OWL 2-RL + SWRL. This is important to ensure [9] P. Bouquet, F. Giunchiglia, F. van Harmelen, L. Serafini and H. Stuckenschmidt, "C-OWL: Contextualizing ontologies." in International the decidability of the process of discovering new mappings Semantic Web Conference, 2003, pp. 164-179. and instance transformation. [10] J. Euzenat and P. Shvaiko, Ontology Matching. Springer-Verlag: New Comparison of our mapping ontology with the existing York Inc, 2007. mapping representation languages against a comprehensive set [11] E. Goldberg and Y. Novikov, "BerkMin: A fast and robust SAT-solver," of mapping patterns surveyed in ‎[2] shows that our mapping in Proceedings of Design, Automation and Test in Europe Conference representation ontology supports the widest range of these and Exhibition. 2002, pp. 142-149. mapping patters. For instance, unlike most of these languages, [12] J. P. Marques-Silva and K. A. Sakallah, "GRASP: a search algorithm for our mapping ontology supports variables, meta-modelling and propositional satisfiability," IEEE Trans. Comput., vol. 48, pp. 506-521, 1999. a wide range of operators that are needed for data manipulation [13] H. Thomas, D. Sullivan and R. Brennan, "Ontology Mapping and structural modifications. We also introduced the possibility Representations: a Pragmatic Evaluation," Management, pp. 228-232, of conditions and complex condition satisfaction criteria. 2009. [14] N. F. Noy and M. A. Musen, "Anchor-prompt: Using non-local context VII. CONCLUSION for semantic matching," in Proceedings of the Workshop on Ontologies and Information Sharing at the Seventeenth International Joint In this paper, we introduced a new semantic-based ontology Conference on Artificial Intelligence (IJCAI-2001), 2001, pp. 63-70. mapping approach based on semantic web technologies. We [15] J. d. Bruijn and A. Polleres, "Towards an ontology mapping used our approach to map three CPG ontologies to a general specification language for the semantic web," DERI - DIGITAL CPG ontology and to transform their instances. Execution ENTERPRISE RESEARCH INSTITUTE, Tech. Rep. DERI-2004-06- results showed that our approach represents the mapping 30, 2004. accurately and performs instance transformation correctly. Our [16] B. Jafarpour, S. Abidi and S. Abidi. "Exploiting OWL reasoning mapping approach has three advantages over existing mapping services to execute ontologically-modeled clinical practice guidelines," approaches: (1) higher levels of expressivity; (2) better in Proceedings of the 13th conference on Artificial intelligence in Medicine, M. Peleg, N. LavraÄ and C. Combi, Eds. Berlin Heidelberg: shareability and acceptance due to support by several semantic Springer-Verlag, 2011, pp. 307-311. web tools developed for manipulation, visualization and [17] B. Motik, U. Sattler and R. Studer, "Query Answering for OWL-DL reasoning; (3) Formal semantics in OWL and SWRL that with rules," Web Semant. Sci. Serv. Agents World Wide Web, vol. 3, enables us to improve the existing mappings and perform pp. 41-60, 2005.