180 likes | 332 Views
Ontology Mapping Patterns. doug foxvog 14 February 2005. Introduction. DIP/SEKT Combined Mediation Project Why Mapping Patterns? The Patterns Language for Expressing Patterns Summary. DIP/SEKT Combined Mediation Project. The main activities of the effort were:
E N D
Ontology Mapping Patterns doug foxvog 14 February 2005
Introduction • DIP/SEKT Combined Mediation Project • Why Mapping Patterns? • The Patterns • Language for Expressing Patterns • Summary
DIP/SEKT Combined Mediation Project • The main activities of the effort were: • Design ontology mapping language • Design a mediation framework - Develop an ontology mapping patterns library - Deal with inconsistencies arising during mapping • Mapping Patterns • SEKT d4.3.1 • Adrian, doug, Jos, Kerstin • Mapping Language and Framework • SEKT d4.4.2, DIP d1.5 • Adrian, doug, Francisco, Jos, Livia
Why Mapping Patterns? • Semantic Web will have many Ontologies • Ontologies will be in Different Languages • Ontologies will Cover Overlapping Topics • Mappings are Needed For Interoperation • Not all Mappings are Equivalence • Mapping Patterns for Common Inter-topic Relations Developed
What Needs to be Mapped? • Uni-directional vs. Bi-directional Mappings • Mappings between Same Type of Model • Individuals, Classes, Relations/Attributes • Mappings between Different Types • Complex Mappings • Class + Attribute : Class • Individual + Attribute Individual
Uni-directional vs. Bi-directional Mappings • Each Use of Mapping is Unidirectional • Mappings in Different Directions at Different Times • More Compact to use Declarative Bidirectional Mapping • Single Locus for Edits • Conceptually Cleaner
Mapping between Same Type of Models • Individual – Individual • Class – Class • Attribute – Attribute • Relation – Relation • String – String
Mapping between Different Types of Model • Class – Individual • Brand Name Product Treated as Individual • String – Individual/Class • Country Code, Course Number, Product, … • Attribute Value – Class • Female – Female Animal • Value in Different Units • Mile – Kilometer Conversion
Complex Mappings • Class or Relation Intersection • Class or Relation Union • Class + Attribute : Class • Woman + hasSpouse => Wife • Individual + Attribute Individual • UK + primeMinisterIs TonyBlair • Attribute Count : Attribute • Attribute Presence/Absence : Attribute/Class • Mapping by rule
The Mappings • Mappings among Classes • Mappings among Relations • Mappings between Individuals • Inter-Type Mappings • Attribute Value Mappings • Complex Mappings
Mappings among Classes • Equivalent Classes • O1:Person O2:Human • Subclass / Superclass • O1:Man => O2:HumanMale • Class Intersection • O1:Person & O1:MaleAnimal O2:HumanMale • Class Union • O1:ChildWithIrishMom U O1:ChildWithIrishDad O2:ChildWithIrishParent
Mappings among Relations • Equivalent Relations • Subrelation – Superrelation Mapping • Negated Relation Mapping • ~(O1:A(X1 X2)) => O2:B(Y1 Y2) • Inverted Argument (Sub)Relation • Relation Union / Intersection • Attribute Transitive Closure • tran(O1:parent) => O2:ancestor • Sub-Attribute Value
Mappings between Individuals • Equivalent Individuals • Functionally specified Individual • capitalOf + Mongolia UlaanBaatar • Relations among Classes which are Treated as Individuals not Explored
Inter-model Mappings • Class – Individual (uni- and bi- directional) • Inter-Attribute Value Mappings (whether Individual, Class, String, or Other) • subAttributeValueMapping( unidirectional O1:PhysOb.colour DeepGreen O2:Object:hasColor “Green”)
Complex Mappings • Subclass by/with Attribute Mapping • Subclass by/with Attribute Intersection • Subclass by/with Attribute Union • Subclass by/with Relation Domain/Range • Subclass by/with Domain/Range Exclusion • Subrelation by Domain/Range Restriction • O1:parentOf O1:FemaleAnimal O2:motherOf …
Complex Mappings (cont.) • Class – Relation Mapping • classRelationMapping(O1:Marriage O2:marriedTo O1:Marriage.husband O1:Marriage.wife O1:Marriage.startDate) • Mappings via Rule • relationMapping(bidirectional O1:distanceInMiles O2:distanceInKM equivalentIndividuals(X1 Y1) equivalentIndividuals(X2 Y2) milesToKM(X3 Y3))
Language for Expressing MappingsExamples • equivalentClassMapping • subclassMapping • equivalentClassIntersectionMapping • subclassUnionMapping • subclassByAttributeMapping • subclassByRuleMapping • equivalentRelationMapping • subrelationMapping • attributeTransitiveClosureMapping • attributeInverseMapping • equivalentAttributeValueMapping • equavalentRelationNegationMapping • subrelationByRuleMapping • equivalentIndividualMapping • classMapping(two-way A B) • classMapping(one-way A B) • classMapping(two-way and(A1…An) B) • classMapping(one-way or(A1…An) B) • classMapping(one-way A B attributeValueCondition(Att AttValue)) • classMapping(one-way A B {rule}) • relationMapping(two-way P Q) • relationMapping(one-way P Q) • attributeMapping(two-way P trans(Q)) • attributeMapping(two-way P inverse(Q)) • attributeValueMapping(two-way P I Q J) • relationMapping(two-way R not(S)) • relationMapping(one-way R S {rule}) • individualMapping(I J)
Summary • DIP/SECT Project Researched Ontology Mediation and Mapping • Set of Mapping Patterns were created. • Unidirectional and Bidirectional • Simple and Complex • Language Designed for Encoding Mapping Patterns