Transformation of Protg Ontologies into the Eclipse Modeling - - PowerPoint PPT Presentation

transformation of prot g ontologies into the eclipse
SMART_READER_LITE
LIVE PREVIEW

Transformation of Protg Ontologies into the Eclipse Modeling - - PowerPoint PPT Presentation

Transformation of Protg Ontologies into the Eclipse Modeling Framework Deepak Sharma Division of Biomedical Informatics Mayo Clinic 1 Outline Motivation Eclipse Modeling Framework (EMF) EMF at work LexGrid Model & FMA


slide-1
SLIDE 1

1

Transformation of Protégé Ontologies into the Eclipse Modeling Framework

Deepak Sharma Division of Biomedical Informatics Mayo Clinic

slide-2
SLIDE 2

2

Outline

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

3

Outline

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

4

Outline

Lots of things to talk about in short time

slide-5
SLIDE 5

5

Outline

slide-6
SLIDE 6

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
slide-7
SLIDE 7

7

Motivation

Why EMF ?

  • Easy & Simple to:
  • Use EMF Transformation
  • Integrate EMF with Protégé
  • Use EMF as a hub
  • Successful FMA transformation
slide-8
SLIDE 8

8

What is EMF ?

Eclipse Modeling Framework

  • Framework & Code Generation

tool

  • Available with Eclipse
  • Modeling EMF Programming
slide-9
SLIDE 9

9

Eclipse Modeling Framework

EMF XML Schema UML Java

slide-10
SLIDE 10

10

Eclipse Modeling Framework

  • Model in XMI (XML Metadata

Interchange) format

  • EMF Project
  • ECORE
  • GENMODEL
  • Generated Code can be customized
  • Easy to Update & Regenerate
slide-11
SLIDE 11

11

EMF

slide-12
SLIDE 12

12

Eclipse Modeling Framework

http://www.eclipse.org/emf/

slide-13
SLIDE 13

13

EMF at work

  • Output
  • Mapping
  • Protégé Content
  • Model &

Representation

slide-14
SLIDE 14

14

EMF at work

  • Output
  • Mapping
  • Protégé Content
  • Model &

Representation LexGrid XML Document

  • FMA to LexGrid Model
  • FMA
  • LexGrid Model in XML

Schema

slide-15
SLIDE 15

15

EMF at work

Model Representation

slide-16
SLIDE 16

16

EMF at work

Model Representation

XML Schema UML

slide-17
SLIDE 17

17

EMF at work

Model Representation

XML Schema UML

slide-18
SLIDE 18

18

EMF at work

Model Representation (XSD)

slide-19
SLIDE 19

19

EMF at work

Model Representation (XSD)

slide-20
SLIDE 20

20

EMF at work

Create an EMF Project

slide-21
SLIDE 21

21

EMF at work

Create an EMF Project

slide-22
SLIDE 22

22

EMF at work

Create an EMF Project

slide-23
SLIDE 23

23

EMF at work

Create an EMF Project

slide-24
SLIDE 24

24

EMF at work

Create an EMF Project

slide-25
SLIDE 25

25

EMF at work

EMF Project Components

slide-26
SLIDE 26

26

EMF at work

EMF Project Components

slide-27
SLIDE 27

27

EMF at work

EMF Project Components

CORE GENMODEL

slide-28
SLIDE 28

28

EMF at work

EMF CORE Component

slide-29
SLIDE 29

29

EMF at work

EMF CORE Component

slide-30
SLIDE 30

30

EMF at work

EMF GENMODEL Component

slide-31
SLIDE 31

31

EMF at work

EMF GENMODEL Component

slide-32
SLIDE 32

32

EMF at work

Generate Implementation

slide-33
SLIDE 33

33

EMF at work

Generate Implementation

Generates Implementation

slide-34
SLIDE 34

34

EMF at work

Implementation

slide-35
SLIDE 35

35

EMF at work

Implementation Generated Implementation

slide-36
SLIDE 36

36

EMF at work

XML Schema Snapshot

slide-37
SLIDE 37

37

EMF at work

Generated Implementation

slide-38
SLIDE 38

38

EMF at work

Generated Implementation

slide-39
SLIDE 39

39

EMF at work

Generated Implementation More implementation classes snapshots Later in this presentation

slide-40
SLIDE 40

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.

slide-41
SLIDE 41

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.

slide-42
SLIDE 42

42

EMF at work

slide-43
SLIDE 43

43

EMF at work

slide-44
SLIDE 44

44

LexGrid Model

  • Developed by Mayo Biomedical

Informatics Group

  • Formal model of terminology
  • Explicit definition of entities &
  • bjects used in LexGrid tooling
  • Supports non-semantic entities (from

the toolkit perspective) as name/value pair

slide-45
SLIDE 45

45

LexGrid Model

Information Model (partial)

cd codingSchemes describable

codingScheme concepts::concepts

describable

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

slide-46
SLIDE 46

46

LexGrid Model

Coding Scheme Node

cd codingSchemes describable

codingScheme concepts::concepts

describable

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

slide-47
SLIDE 47

47

LexGrid Model

Information Model (partial)

cd codingSchemes describable

codingScheme concepts::concepts

describable

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

slide-48
SLIDE 48

48

LexGrid Model

Coded Entry

cd codingSchemes describable

codingScheme concepts::concepts

describable

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

slide-49
SLIDE 49

49

LexGrid Model

Information Model (partial)

cd codingSchemes describable

codingScheme concepts::concepts

describable

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

slide-50
SLIDE 50

50

LexGrid Model

Concept Property

cd codingSchemes describable

codingScheme concepts::concepts

describable

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

slide-51
SLIDE 51

51

LexGrid Model

CodedEntry Node

Concept Code Concept Name Property Name Property Value

slide-52
SLIDE 52

52

LexGrid Model

Association 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

slide-53
SLIDE 53

53

LexGrid Model

Association 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)

slide-54
SLIDE 54

54

LexGrid Model

Association Node

slide-55
SLIDE 55

55

LexGrid Model

Association Node

Body (has regional parts) Head Neck Upper limb Right Upper limb Left Upper limb Lower limb Right Lower limb Left Lower limb Trunk

Targets Source

slide-56
SLIDE 56

56

LexGrid Model

http://informatics.mayo.edu

slide-57
SLIDE 57

57

FMA (Protégé)

slide-58
SLIDE 58

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

slide-59
SLIDE 59

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

slide-60
SLIDE 60

60

FMA Mapping

Classes and Instances

slide-61
SLIDE 61

61

FMA Mapping to LexGrid

Property String with other values Presentation String with values “Preferred name”, “name”, “Synonyms”, “Eng-Equivalent” LexGrid Slot type in FMA

Slot Type decides Category

slide-62
SLIDE 62

62

FMA Mapping to LexGrid

Property Other Property {true | false} Boolean Association Protégé CLS or Instance Comment :Documentation Definition “definition” LexGrid Slot type in FMA

Slot Type decides Category

slide-63
SLIDE 63

63

FMA Mapping to LexGrid

Presentation or its attributes “Authority” “Source” “Language” “TA ID” “Eponym”, … LexGrid Slot type in FMA (Instances of ‘Concept name’)

Slot Type decides Category

slide-64
SLIDE 64

64

EMF at work

slide-65
SLIDE 65

65

EMF at work

slide-66
SLIDE 66

66

EMF at work

NOW Create objects using Generated EMF Classes AND Generate XML

  • utput file
slide-67
SLIDE 67

67

EMF at work Generated Implementation Classes

Generated Implementation

slide-68
SLIDE 68

68

EMF at work Generated Implementation Classes

slide-69
SLIDE 69

69

EMF at work Generated Implementation Classes

slide-70
SLIDE 70

70

EMF at work Generated Implementation Classes

slide-71
SLIDE 71

71

EMF at work Factory Classes

slide-72
SLIDE 72

72

EMF at work Create Coding Scheme

Creates Coding Scheme

slide-73
SLIDE 73

73

EMF at work Create Concept

slide-74
SLIDE 74

74

EMF at work Create Relation

slide-75
SLIDE 75

75

EMF at work XML Serialization

These classes are from ECORE framework e.g. package org.eclipse.emf.ecore.xmi.impl

slide-76
SLIDE 76

76

EMF at work

slide-77
SLIDE 77

77

FMA (LexGrid XML Snapshot)

slide-78
SLIDE 78

78

FMA (LexGrid XML Snapshot)

slide-79
SLIDE 79

79

Transformation Example

  • Concept “Body”
  • LexGrid Editor tool (Mayo)
  • Observe Mappings:
  • FMA Content with Protégé
  • Transformed LexGrid content with

LexGrid Editor

slide-80
SLIDE 80

80

Concept “Body” (FMA)

slide-81
SLIDE 81

81

“Body” (FMA) - Attributes

slide-82
SLIDE 82

82

Concept “Body” (LexGrid)

slide-83
SLIDE 83

83

Concept “Body” (LexGrid)

slide-84
SLIDE 84

84

Concept “Body” (LexGrid)

slide-85
SLIDE 85

85

Concept “Body” (LexGrid)

CONCEPTS BASICS RELATIONS

slide-86
SLIDE 86

86

Concept “Body” (LexGrid)

slide-87
SLIDE 87

87

“Body” (FMA) - Attributes

slide-88
SLIDE 88

88

“Body” (FMA) - Attributes

slide-89
SLIDE 89

89

“Body” (FMA) - Attributes

slide-90
SLIDE 90

90

“Body” (FMA) - Attributes

slide-91
SLIDE 91

91

“Body” (LexGrid) - Attributes

slide-92
SLIDE 92

92

“Body” (LexGrid) - Attributes

slide-93
SLIDE 93

93

“Body” (FMA) - Relations

slide-94
SLIDE 94

94

“Body” (LexGrid) - Relations

slide-95
SLIDE 95

95

“Body” (LexGrid) - Relations

slide-96
SLIDE 96

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

slide-97
SLIDE 97

97

EMF at work

slide-98
SLIDE 98

98

EMF at work

slide-99
SLIDE 99

99

Current Status

EMF as a Hub

Available at http://informatics.mayo.edu

slide-100
SLIDE 100

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
  • utput document
  • EMF as a hub
slide-101
SLIDE 101

101

Thanks!

  • Harold Solbrig
  • Thomas Johnson
  • Dr. Christopher Chute
slide-102
SLIDE 102

102

Thanks!

Protégé Conference Organizers

slide-103
SLIDE 103

103

Questions ?

slide-104
SLIDE 104

104

Questions ?

http:/ / inform atics.m ayo.edu

Deepak Sharma Division of Biomedical Informatics Mayo Clinic sharma.deepak2@mayo.edu