104
1 Transformation of Protégé Ontologies into the Eclipse Modeling Framework Deepak Sharma Division of Biomedical Informatics Mayo Clinic

Transformation of Prot©g© Ontologies into the Eclipse Modeling

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Transformation of Prot©g© Ontologies into the Eclipse Modeling

1

Transformation of ProtégéOntologies into the Eclipse

Modeling Framework

Deepak SharmaDivision of Biomedical Informatics

Mayo Clinic

Page 2: Transformation of Prot©g© Ontologies into the Eclipse Modeling

2

Outline

• Motivation• Eclipse Modeling Framework (EMF) • EMF at work• LexGrid Model & FMA Mapping• FMA Transformation Example• Conclusion

Page 3: Transformation of Prot©g© Ontologies into the Eclipse Modeling

3

Outline

• Motivation• Eclipse Modeling Framework (EMF) • EMF at work• LexGrid Model & FMA Mapping• FMA Transformation Example• Conclusion

Page 4: Transformation of Prot©g© Ontologies into the Eclipse Modeling

4

Outline

Lots of things to talk about in short time

Page 5: Transformation of Prot©g© Ontologies into the Eclipse Modeling

5

Outline

Page 6: Transformation of Prot©g© Ontologies into the Eclipse Modeling

6

Motivation

Why do a transformation?• Native form of FMA cannot be readily integrated

into grid, databases and other terminologies• Need to transform content into a format and

structure that is readily accessible via:• Standard API’s• SQL• …

• The Mayo LexGrid model is one such candidate

Page 7: Transformation of Prot©g© Ontologies into the Eclipse Modeling

7

Motivation

Why EMF ?• Easy & Simple to:

• Use EMF Transformation• Integrate EMF with Protégé• Use EMF as a hub

• Successful FMA transformation

Page 8: Transformation of Prot©g© Ontologies into the Eclipse Modeling

8

What is EMF ?

Eclipse Modeling Framework

• Framework & Code Generation tool

• Available with Eclipse

• Modeling EMF Programming

Page 9: Transformation of Prot©g© Ontologies into the Eclipse Modeling

9

Eclipse Modeling Framework

EMF XML Schema

UML Java

Page 10: Transformation of Prot©g© Ontologies into the Eclipse Modeling

10

Eclipse Modeling Framework

• Model in XMI (XML Metadata Interchange) format

• EMF Project• ECORE• GENMODEL

• Generated Code can be customized• Easy to Update & Regenerate

Page 11: Transformation of Prot©g© Ontologies into the Eclipse Modeling

11

EMF

Page 12: Transformation of Prot©g© Ontologies into the Eclipse Modeling

12

Eclipse Modeling Frameworkhttp://www.eclipse.org/emf/

Page 13: Transformation of Prot©g© Ontologies into the Eclipse Modeling

13

EMF at work

•Output

•Mapping

•Protégé Content

•Model & Representation

Page 14: Transformation of Prot©g© Ontologies into the Eclipse Modeling

14

EMF at work

•Output

•Mapping

•Protégé Content

•Model & Representation

LexGrid XML Document

FMA to LexGrid Model

FMA

LexGrid Model in XML Schema

Page 15: Transformation of Prot©g© Ontologies into the Eclipse Modeling

15

EMF at workModel Representation

Page 16: Transformation of Prot©g© Ontologies into the Eclipse Modeling

16

EMF at workModel Representation

XML Schema

UML

Page 17: Transformation of Prot©g© Ontologies into the Eclipse Modeling

17

EMF at workModel Representation

XML Schema

UML

Page 18: Transformation of Prot©g© Ontologies into the Eclipse Modeling

18

EMF at workModel Representation (XSD)

Page 19: Transformation of Prot©g© Ontologies into the Eclipse Modeling

19

EMF at workModel Representation (XSD)

Page 20: Transformation of Prot©g© Ontologies into the Eclipse Modeling

20

EMF at workCreate an EMF Project

Page 21: Transformation of Prot©g© Ontologies into the Eclipse Modeling

21

EMF at workCreate an EMF Project

Page 22: Transformation of Prot©g© Ontologies into the Eclipse Modeling

22

EMF at workCreate an EMF Project

Page 23: Transformation of Prot©g© Ontologies into the Eclipse Modeling

23

EMF at workCreate an EMF Project

Page 24: Transformation of Prot©g© Ontologies into the Eclipse Modeling

24

EMF at workCreate an EMF Project

Page 25: Transformation of Prot©g© Ontologies into the Eclipse Modeling

25

EMF at workEMF Project Components

Page 26: Transformation of Prot©g© Ontologies into the Eclipse Modeling

26

EMF at workEMF Project Components

Page 27: Transformation of Prot©g© Ontologies into the Eclipse Modeling

27

EMF at workEMF Project Components

CORE

GENMODEL

Page 28: Transformation of Prot©g© Ontologies into the Eclipse Modeling

28

EMF at workEMF CORE Component

Page 29: Transformation of Prot©g© Ontologies into the Eclipse Modeling

29

EMF at workEMF CORE Component

Page 30: Transformation of Prot©g© Ontologies into the Eclipse Modeling

30

EMF at workEMF GENMODEL Component

Page 31: Transformation of Prot©g© Ontologies into the Eclipse Modeling

31

EMF at workEMF GENMODEL Component

Page 32: Transformation of Prot©g© Ontologies into the Eclipse Modeling

32

EMF at workGenerate Implementation

Page 33: Transformation of Prot©g© Ontologies into the Eclipse Modeling

33

EMF at workGenerate Implementation

Generates Implementation

Page 34: Transformation of Prot©g© Ontologies into the Eclipse Modeling

34

EMF at workImplementation

Page 35: Transformation of Prot©g© Ontologies into the Eclipse Modeling

35

EMF at workImplementation

Generated Implementation

Page 36: Transformation of Prot©g© Ontologies into the Eclipse Modeling

36

EMF at workXML Schema Snapshot

Page 37: Transformation of Prot©g© Ontologies into the Eclipse Modeling

37

EMF at workGenerated Implementation

Page 38: Transformation of Prot©g© Ontologies into the Eclipse Modeling

38

EMF at workGenerated Implementation

Page 39: Transformation of Prot©g© Ontologies into the Eclipse Modeling

39

EMF at workGenerated Implementation

More implementation

classes snapshots

Later in this presentation

Page 40: Transformation of Prot©g© Ontologies into the Eclipse Modeling

40

EMF at work

• Customize the implementation• Before & After Generation

• Make EMF implementation available by either :

• Create and include as an Archive• Application dependent on EMF

implementation classes.

Page 41: Transformation of Prot©g© Ontologies into the Eclipse Modeling

41

EMF at work

• Customize the implementation• Before & After Generation

• Make EMF implementation available by either :

• Create and include as an Archive• Application dependent on EMF

implementation classes.

Page 42: Transformation of Prot©g© Ontologies into the Eclipse Modeling

42

EMF at work

Page 43: Transformation of Prot©g© Ontologies into the Eclipse Modeling

43

EMF at work

Page 44: Transformation of Prot©g© Ontologies into the Eclipse Modeling

44

LexGrid Model

• Developed by Mayo Biomedical Informatics Group

• Formal model of terminology• Explicit definition of entities &

objects used in LexGrid tooling• Supports non-semantic entities (from

the toolkit perspective) as name/value pair

Page 45: Transformation of Prot©g© Ontologies into the Eclipse Modeling

45

LexGrid ModelInformation Model (partial)

cd codingSchemes

describable

codingScheme

concepts::conceptsdescribable

relations::relations

describable

relations::association

relations::associationInstance

associatableElement

relations::associationTarget

versionableAndDescribable

concepts::codedEntry

concepts::property

concepts::comment

concepts::definition

concepts::presentation

0..1+concepts 0..*+relations

1..*+association

0..*+sourceConcept

0..*+targetConcept

1..*+concept

0..*+property

Page 46: Transformation of Prot©g© Ontologies into the Eclipse Modeling

46

LexGrid ModelCoding Scheme Node

cd codingSchemes

describable

codingScheme

concepts::conceptsdescribable

relations::relations

describable

relations::association

relations::associationInstance

associatableElement

relations::associationTarget

versionableAndDescribable

concepts::codedEntry

concepts::property

concepts::comment

concepts::definition

concepts::presentation

0..1+concepts 0..*+relations

1..*+association

0..*+sourceConcept

0..*+targetConcept

1..*+concept

0..*+property

Page 47: Transformation of Prot©g© Ontologies into the Eclipse Modeling

47

LexGrid ModelInformation Model (partial)

cd codingSchemes

describable

codingScheme

concepts::conceptsdescribable

relations::relations

describable

relations::association

relations::associationInstance

associatableElement

relations::associationTarget

versionableAndDescribable

concepts::codedEntry

concepts::property

concepts::comment

concepts::definition

concepts::presentation

0..1+concepts 0..*+relations

1..*+association

0..*+sourceConcept

0..*+targetConcept

1..*+concept

0..*+property

Page 48: Transformation of Prot©g© Ontologies into the Eclipse Modeling

48

LexGrid ModelCoded Entry

cd codingSchemes

describable

codingScheme

concepts::conceptsdescribable

relations::relations

describable

relations::association

relations::associationInstance

associatableElement

relations::associationTarget

versionableAndDescribable

concepts::codedEntry

concepts::property

concepts::comment

concepts::definition

concepts::presentation

0..1+concepts 0..*+relations

1..*+association

0..*+sourceConcept

0..*+targetConcept

1..*+concept

0..*+property

Page 49: Transformation of Prot©g© Ontologies into the Eclipse Modeling

49

LexGrid ModelInformation Model (partial)

cd codingSchemes

describable

codingScheme

concepts::conceptsdescribable

relations::relations

describable

relations::association

relations::associationInstance

associatableElement

relations::associationTarget

versionableAndDescribable

concepts::codedEntry

concepts::property

concepts::comment

concepts::definition

concepts::presentation

0..1+concepts 0..*+relations

1..*+association

0..*+sourceConcept

0..*+targetConcept

1..*+concept

0..*+property

Page 50: Transformation of Prot©g© Ontologies into the Eclipse Modeling

50

LexGrid ModelConcept Property

cd codingSchemes

describable

codingScheme

concepts::conceptsdescribable

relations::relations

describable

relations::association

relations::associationInstance

associatableElement

relations::associationTarget

versionableAndDescribable

concepts::codedEntry

concepts::property

concepts::comment

concepts::definition

concepts::presentation

0..1+concepts 0..*+relations

1..*+association

0..*+sourceConcept

0..*+targetConcept

1..*+concept

0..*+property

Page 51: Transformation of Prot©g© Ontologies into the Eclipse Modeling

51

LexGrid ModelCodedEntry Node

Concept Code

Concept Name

Property Name

Property Value

Page 52: Transformation of Prot©g© Ontologies into the Eclipse Modeling

52

LexGrid ModelAssociation Node

cd relations

describable

association

+ «XSDattribute» association: localName+ «XSDattribute» forwardName: tsCaseIgnoreIA5String+ «XSDattribute» isAntiReflexive [0..1]: tsBoolean [0..1]+ «XSDattribute» isAntiSymmetric [0..1]: tsBoolean [0..1]+ «XSDattribute» isAntiTransitive [0..1]: tsBoolean [0..1]+ «XSDattribute» isFunctional [0..1]: tsBoolean [0..1]+ «XSDattribute» isReflexive [0..1]: tsBoolean [0..1]+ «XSDattribute» isReverseFunctional [0..1]: tsBoolean [0..1]+ «XSDattribute» isSymmetric [0..1]: tsBoolean [0..1]+ «XSDattribute» isTransitive [0..1]: tsBoolean [0..1]+ «XSDattribute» isTranslationAssociation [0..1]: tsBoolean [0..1]+ «XSDattribute» reverseName: tsCaseIgnoreIA5String+ «XSDattribute» targetCodingScheme [0..1]: localName [0..1]

associationInstance

+ «XSDattribute» sourceCodingScheme [0..1]: localName [0..1]+ «XSDattribute» sourceConcept: conceptCode

associatableElement

associationTarget

+ «XSDattribute» targetCodingScheme [0..1]: localName [0..1]+ «XSDattribute» targetConcept: conceptCode

describable

relations

0..*+sourceConcept

0..*+targetConcept

1..*+association

Page 53: Transformation of Prot©g© Ontologies into the Eclipse Modeling

53

LexGrid ModelAssociation Node

cd relations

describable

association

+ «XSDattribute» association: localName+ «XSDattribute» forwardName: tsCaseIgnoreIA5String+ «XSDattribute» isAntiReflexive [0..1]: tsBoolean [0..1]+ «XSDattribute» isAntiSymmetric [0..1]: tsBoolean [0..1]+ «XSDattribute» isAntiTransitive [0..1]: tsBoolean [0..1]+ «XSDattribute» isFunctional [0..1]: tsBoolean [0..1]+ «XSDattribute» isReflexive [0..1]: tsBoolean [0..1]+ «XSDattribute» isReverseFunctional [0..1]: tsBoolean [0..1]+ «XSDattribute» isSymmetric [0..1]: tsBoolean [0..1]+ «XSDattribute» isTransitive [0..1]: tsBoolean [0..1]+ «XSDattribute» isTranslationAssociation [0..1]: tsBoolean [0..1]+ «XSDattribute» reverseName: tsCaseIgnoreIA5String+ «XSDattribute» targetCodingScheme [0..1]: localName [0..1]

associationInstance

+ «XSDattribute» sourceCodingScheme [0..1]: localName [0..1]+ «XSDattribute» sourceConcept: conceptCode

associatableElement

associationTarget

+ «XSDattribute» targetCodingScheme [0..1]: localName [0..1]+ «XSDattribute» targetConcept: conceptCode

describable

relations

0..*+sourceConcept

0..*+targetConcept

1..*+association

Source concept

Target

(concept / Data)

Page 54: Transformation of Prot©g© Ontologies into the Eclipse Modeling

54

LexGrid ModelAssociation Node

Page 55: Transformation of Prot©g© Ontologies into the Eclipse Modeling

55

LexGrid ModelAssociation Node

Body (has regional parts)HeadNeckUpper limbRight Upper limbLeft Upper limbLower limbRight Lower limbLeft Lower limbTrunk

Targets

Source

Page 56: Transformation of Prot©g© Ontologies into the Eclipse Modeling

56

LexGrid Modelhttp://informatics.mayo.edu

Page 57: Transformation of Prot©g© Ontologies into the Eclipse Modeling

57

FMA (Protégé)

Page 58: Transformation of Prot©g© Ontologies into the Eclipse Modeling

58

FMA (Protégé)Root Nodes

•Anatomical entity

•Attribute entity

•Anatomical transformation entity

•Dimensional entity

•Spatial association value

•Miscellaneous term

•Biological entity

“Concept name”Has > 130,000 instances

correspond to FMA concept names & add

more information to them

Page 59: Transformation of Prot©g© Ontologies into the Eclipse Modeling

59

FMA Mapping to LexGrid

• Both Protégé CLS and ProtégéInstance map to LexGrid Coded Entry

• Meta-Class / CLS / Instance distinction in FMA model is pragmatic decision – not “ontological”

• Most FMA classes are both• Exception is “Concept name”,

which is strictly descriptive

Page 60: Transformation of Prot©g© Ontologies into the Eclipse Modeling

60

FMA MappingClasses and Instances

Page 61: Transformation of Prot©g© Ontologies into the Eclipse Modeling

61

FMA Mapping to LexGrid

PropertyString with other values

PresentationString with values “Preferred name”, “name”, “Synonyms”, “Eng-Equivalent”

LexGridSlot type in FMASlot Type decides Category

Page 62: Transformation of Prot©g© Ontologies into the Eclipse Modeling

62

FMA Mapping to LexGrid

PropertyOtherProperty {true | false}Boolean

AssociationProtégé CLS or Instance

Comment:Documentation

Definition“definition”LexGridSlot type in FMA

Slot Type decides Category

Page 63: Transformation of Prot©g© Ontologies into the Eclipse Modeling

63

FMA Mapping to LexGrid

Presentation or its attributes

“Authority”“Source”“Language”“TA ID”“Eponym”, …

LexGridSlot type in FMA(Instances of

‘Concept name’)

Slot Type decides Category

Page 64: Transformation of Prot©g© Ontologies into the Eclipse Modeling

64

EMF at work

Page 65: Transformation of Prot©g© Ontologies into the Eclipse Modeling

65

EMF at work

Page 66: Transformation of Prot©g© Ontologies into the Eclipse Modeling

66

EMF at work

NOW

Create objects using Generated

EMF Classes

AND

Generate XML output file

Page 67: Transformation of Prot©g© Ontologies into the Eclipse Modeling

67

EMF at workGenerated Implementation Classes

Generated Implementation

Page 68: Transformation of Prot©g© Ontologies into the Eclipse Modeling

68

EMF at workGenerated Implementation Classes

Page 69: Transformation of Prot©g© Ontologies into the Eclipse Modeling

69

EMF at workGenerated Implementation Classes

Page 70: Transformation of Prot©g© Ontologies into the Eclipse Modeling

70

EMF at workGenerated Implementation Classes

Page 71: Transformation of Prot©g© Ontologies into the Eclipse Modeling

71

EMF at workFactory Classes

Page 72: Transformation of Prot©g© Ontologies into the Eclipse Modeling

72

EMF at workCreate Coding Scheme

Creates Coding Scheme

Page 73: Transformation of Prot©g© Ontologies into the Eclipse Modeling

73

EMF at workCreate Concept

Page 74: Transformation of Prot©g© Ontologies into the Eclipse Modeling

74

EMF at workCreate Relation

Page 75: Transformation of Prot©g© Ontologies into the Eclipse Modeling

75

EMF at workXML Serialization

These classes are from ECORE frameworke.g.

package org.eclipse.emf.ecore.xmi.impl

Page 76: Transformation of Prot©g© Ontologies into the Eclipse Modeling

76

EMF at work

Page 77: Transformation of Prot©g© Ontologies into the Eclipse Modeling

77

FMA (LexGrid XML Snapshot)

Page 78: Transformation of Prot©g© Ontologies into the Eclipse Modeling

78

FMA (LexGrid XML Snapshot)

Page 79: Transformation of Prot©g© Ontologies into the Eclipse Modeling

79

Transformation Example

• Concept “Body”• LexGrid Editor tool (Mayo)• Observe Mappings:

• FMA Content with Protégé• Transformed LexGrid content with

LexGrid Editor

Page 80: Transformation of Prot©g© Ontologies into the Eclipse Modeling

80

Concept “Body” (FMA)

Page 81: Transformation of Prot©g© Ontologies into the Eclipse Modeling

81

“Body” (FMA) - Attributes

Page 82: Transformation of Prot©g© Ontologies into the Eclipse Modeling

82

Concept “Body” (LexGrid)

Page 83: Transformation of Prot©g© Ontologies into the Eclipse Modeling

83

Concept “Body” (LexGrid)

Page 84: Transformation of Prot©g© Ontologies into the Eclipse Modeling

84

Concept “Body” (LexGrid)

Page 85: Transformation of Prot©g© Ontologies into the Eclipse Modeling

85

Concept “Body” (LexGrid)

CONCEPTS

BASICS

RELATIONS

Page 86: Transformation of Prot©g© Ontologies into the Eclipse Modeling

86

Concept “Body” (LexGrid)

Page 87: Transformation of Prot©g© Ontologies into the Eclipse Modeling

87

“Body” (FMA) - Attributes

Page 88: Transformation of Prot©g© Ontologies into the Eclipse Modeling

88

“Body” (FMA) - Attributes

Page 89: Transformation of Prot©g© Ontologies into the Eclipse Modeling

89

“Body” (FMA) - Attributes

Page 90: Transformation of Prot©g© Ontologies into the Eclipse Modeling

90

“Body” (FMA) - Attributes

Page 91: Transformation of Prot©g© Ontologies into the Eclipse Modeling

91

“Body” (LexGrid) - Attributes

Page 92: Transformation of Prot©g© Ontologies into the Eclipse Modeling

92

“Body” (LexGrid) - Attributes

Page 93: Transformation of Prot©g© Ontologies into the Eclipse Modeling

93

“Body” (FMA) - Relations

Page 94: Transformation of Prot©g© Ontologies into the Eclipse Modeling

94

“Body” (LexGrid) - Relations

Page 95: Transformation of Prot©g© Ontologies into the Eclipse Modeling

95

“Body” (LexGrid) - Relations

Page 96: Transformation of Prot©g© Ontologies into the Eclipse Modeling

96

Current Status

• Transformation tool is a Java application

• Possible to make a Protégé plug-in• Need to Isolate “Mapping to LexGrid

Model” from EMF implementation

Page 97: Transformation of Prot©g© Ontologies into the Eclipse Modeling

97

EMF at work

Page 98: Transformation of Prot©g© Ontologies into the Eclipse Modeling

98

EMF at work

Page 99: Transformation of Prot©g© Ontologies into the Eclipse Modeling

99

Current StatusEMF as a Hub

Available at http://informatics.mayo.edu

Page 100: Transformation of Prot©g© Ontologies into the Eclipse Modeling

100

Conclusion

• Easily used EMF to work with user model and generate code

• Successfully • Converted FMA content to LexGrid

Model• Used EMF to create LexGrid XML

output document• EMF as a hub

Page 101: Transformation of Prot©g© Ontologies into the Eclipse Modeling

101

Thanks!

• Harold Solbrig

• Thomas Johnson

• Dr. Christopher Chute

Page 102: Transformation of Prot©g© Ontologies into the Eclipse Modeling

102

Thanks!

Protégé Conference Organizers

Page 103: Transformation of Prot©g© Ontologies into the Eclipse Modeling

103

Questions ?

Page 104: Transformation of Prot©g© Ontologies into the Eclipse Modeling

104

Questions ?

http://informatics.mayo.edu

Deepak SharmaDivision of Biomedical InformaticsMayo [email protected]