Download presentation
Presentation is loading. Please wait.
Published byOsborne Austin Modified over 9 years ago
1
Issues in Mapping Metamodels in the Ontology Development Metamodel R.M. Colomb¹, A. Gerber, and Michael Lawley Pegamento Project, DSTC ¹ School of ITEE, University of Queensland
2
Background OMG’s UML Profile for OWL RFPOMG’s UML Profile for OWL RFP Want to supportWant to support –RDF/RDFS/OWL –Simple Common Logic (SCL) –Entity-Relationship Model (ER) –UML –Topic Maps
3
Modelling using MOF OptionsOptions –primary metamodel subclass for otherssubclass for others map others to primary metamodelmap others to primary metamodel –separate models & (bi-directional) mappings
4
Model & Mapping structure Topic Maps SCL RDF/OWL ERA DL Core UML
5
Mapping using QVT Mappings involve choices and are lossyMappings involve choices and are lossy Key aspect of QVT is support for traceability:Key aspect of QVT is support for traceability: –(optionally) retained links between source and target objects –can always look to find original source [We use Tefkat for the examples here and in the paper since the QVT language is still in flux.]
6
Issues Quality-of-information lossQuality-of-information loss –ER/UML have attribute and reference –DL/OWL only have property Information lossInformation loss –SCL has predicates –OWL only has functional properties (with no definition)
7
Mappings between UML, DL, OWL and ER
8
Example: UML and DL TRANSFORMATION UML2DL(uml,dl) RULE Assoc2Role (a,r) FORALL UMLAssoc a FORALL UMLAssoc a MAKE DLRole r MAKE DLRole r SET r.uniqueID = a.name; SET r.uniqueID = a.name; RULE Attr2Role (a,r) FORALL UMLAttr a FORALL UMLAttr a MAKE DLRole r MAKE DLRole r SET r.uniqueID = a.name SET r.uniqueID = a.name LINKING RoleForAttr LINKING RoleForAttr WITH attr = a, role = r; WITH attr = a, role = r; RULE Class2Concept(c1,c2) FORALL UMLClass c1 FORALL UMLClass c1 MAKE DLConcept c2 MAKE DLConcept c2 SET c2.uniqueID = c1.name; SET c2.uniqueID = c1.name; TRANSFORMATION DL2UML(dl,uml) RULE Role2Assoc(r,a) FORALL DLRole r MAKE UMLAssoc a SET a.name = r.uniqueID; RULE Concept2Class(c1,c2) FORALL DLConcept c1 MAKE UMLCLass c2 SET c2.name = c1.uniqueID;
9
Example: ER and DL TRANSFORMATION ER2DL(er,dl) RULE Relationship2Role(r1,r2) FORALL ERRelationship r1 FORALL ERRelationship r1 MAKE DLRole r2 MAKE DLRole r2 SET r2.uniqueID = r1.name; SET r2.uniqueID = r1.name; RULE Attribute2Role(a,r) FORALL ERAttribute a FORALL ERAttribute a MAKE DLRole r MAKE DLRole r SET r.uniqueID = a.name; SET r.uniqueID = a.name; RULE Entity2Concept(e,c) FORALL EREntity e FORALL EREntity e MAKE DLConcept c MAKE DLConcept c SET c.uniqueID = e.name; SET c.uniqueID = e.name; TRANSFORMATION DL2ER(dl,er) RULE Role2Relationship(r1,r2) FORALL DLRole r1 MAKE ERRelationship r2 SET r2.name = r1.uniqueID; RULE Concept2Entity (c,e) FORALL DLConcept c MAKE EREntity e SET e.name = c.uniqueID;
10
Example: ER and DL extended TRANSFORMATION DLfromUML2ER(dl,uml2dl,er) EXTENDS DL2ER(dl,er) EXTENDS DL2ER(dl,er) RULE Role2Attribute_fromUML(r,a) SUPERSEDES Role2Relationship(r,rel) SUPERSEDES Role2Relationship(r,rel) FORALL RoleForAttr@uml2dl ra FORALL RoleForAttr@uml2dl ra WHERE ra.role = r WHERE ra.role = r MAKE ERAttribute a FROM r MAKE ERAttribute a FROM r SET a.name = r.uniqueID; SET a.name = r.uniqueID;
11
Example: UML and DL extended TRANSFORMATION DLfromOWL2UML(dl,owl2dl,uml) EXTENDS DL2UML(dl,uml) EXTENDS DL2UML(dl,uml) RULE Role2Attr(r,a) SUPERSEDES Role2Assoc(r,a) SUPERSEDES Role2Assoc(r,a) FORALL PropForRole@owl2dl pr FORALL PropForRole@owl2dl pr WHERE pr.role = r AND pr.prop = p WHERE pr.role = r AND pr.prop = p AND OWLDataTypeProperty p AND OWLDataTypeProperty p MAKE UMLAttribute a FROM r MAKE UMLAttribute a FROM r SET a.name = r.uniqueID; SET a.name = r.uniqueID; LINKING RoleForAttr LINKING RoleForAttr WITH attr = a, role = r; WITH attr = a, role = r;
12
Other Issues A mapping from SCL to OWL cannot map information in the predicates, but trace relationships retain a reference to the sourceA mapping from SCL to OWL cannot map information in the predicates, but trace relationships retain a reference to the source Similarly, OWL Full has pseudo 2 nd -order featuresSimilarly, OWL Full has pseudo 2 nd -order features –can be mapped to 1 st -order since finite –trace relationships can be used to perform reverse mapping
13
Summary Model each of the desired languagesModel each of the desired languages Use QVT to describe mappings between pairs of modelsUse QVT to describe mappings between pairs of models Trace relations avoid information lossTrace relations avoid information loss Extend pair-wise mappings using trace relations to restore/recover informationExtend pair-wise mappings using trace relations to restore/recover information
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.