transformation of protégé ontologies into the eclipse ... · 1 transformation of protégé...

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

Upload: truonghuong

Post on 13-May-2018

217 views

Category:

Documents


1 download

TRANSCRIPT

1

Transformation of ProtégéOntologies into the Eclipse

Modeling Framework

Deepak SharmaDivision of Biomedical Informatics

Mayo Clinic

2

Outline

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

3

Outline

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

4

Outline

Lots of things to talk about in short time

5

Outline

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

7

Motivation

Why EMF ?• Easy & Simple to:

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

• Successful FMA transformation

8

What is EMF ?

Eclipse Modeling Framework

• Framework & Code Generation tool

• Available with Eclipse

• Modeling EMF Programming

9

Eclipse Modeling Framework

EMF XML Schema

UML Java

10

Eclipse Modeling Framework

• Model in XMI (XML Metadata Interchange) format

• EMF Project• ECORE• GENMODEL

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

11

EMF

12

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

13

EMF at work

•Output

•Mapping

•Protégé Content

•Model & Representation

14

EMF at work

•Output

•Mapping

•Protégé Content

•Model & Representation

LexGrid XML Document

FMA to LexGrid Model

FMA

LexGrid Model in XML Schema

15

EMF at workModel Representation

16

EMF at workModel Representation

XML Schema

UML

17

EMF at workModel Representation

XML Schema

UML

18

EMF at workModel Representation (XSD)

19

EMF at workModel Representation (XSD)

20

EMF at workCreate an EMF Project

21

EMF at workCreate an EMF Project

22

EMF at workCreate an EMF Project

23

EMF at workCreate an EMF Project

24

EMF at workCreate an EMF Project

25

EMF at workEMF Project Components

26

EMF at workEMF Project Components

27

EMF at workEMF Project Components

CORE

GENMODEL

28

EMF at workEMF CORE Component

29

EMF at workEMF CORE Component

30

EMF at workEMF GENMODEL Component

31

EMF at workEMF GENMODEL Component

32

EMF at workGenerate Implementation

33

EMF at workGenerate Implementation

Generates Implementation

34

EMF at workImplementation

35

EMF at workImplementation

Generated Implementation

36

EMF at workXML Schema Snapshot

37

EMF at workGenerated Implementation

38

EMF at workGenerated Implementation

39

EMF at workGenerated Implementation

More implementation

classes snapshots

Later in this presentation

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.

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.

42

EMF at work

43

EMF at work

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

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

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

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

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

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

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

51

LexGrid ModelCodedEntry Node

Concept Code

Concept Name

Property Name

Property Value

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

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)

54

LexGrid ModelAssociation Node

55

LexGrid ModelAssociation Node

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

Targets

Source

56

LexGrid Modelhttp://informatics.mayo.edu

57

FMA (Protégé)

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

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

60

FMA MappingClasses and Instances

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

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

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

64

EMF at work

65

EMF at work

66

EMF at work

NOW

Create objects using Generated

EMF Classes

AND

Generate XML output file

67

EMF at workGenerated Implementation Classes

Generated Implementation

68

EMF at workGenerated Implementation Classes

69

EMF at workGenerated Implementation Classes

70

EMF at workGenerated Implementation Classes

71

EMF at workFactory Classes

72

EMF at workCreate Coding Scheme

Creates Coding Scheme

73

EMF at workCreate Concept

74

EMF at workCreate Relation

75

EMF at workXML Serialization

These classes are from ECORE frameworke.g.

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

76

EMF at work

77

FMA (LexGrid XML Snapshot)

78

FMA (LexGrid XML Snapshot)

79

Transformation Example

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

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

LexGrid Editor

80

Concept “Body” (FMA)

81

“Body” (FMA) - Attributes

82

Concept “Body” (LexGrid)

83

Concept “Body” (LexGrid)

84

Concept “Body” (LexGrid)

85

Concept “Body” (LexGrid)

CONCEPTS

BASICS

RELATIONS

86

Concept “Body” (LexGrid)

87

“Body” (FMA) - Attributes

88

“Body” (FMA) - Attributes

89

“Body” (FMA) - Attributes

90

“Body” (FMA) - Attributes

91

“Body” (LexGrid) - Attributes

92

“Body” (LexGrid) - Attributes

93

“Body” (FMA) - Relations

94

“Body” (LexGrid) - Relations

95

“Body” (LexGrid) - Relations

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

97

EMF at work

98

EMF at work

99

Current StatusEMF as a Hub

Available at http://informatics.mayo.edu

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

101

Thanks!

• Harold Solbrig

• Thomas Johnson

• Dr. Christopher Chute

102

Thanks!

Protégé Conference Organizers

103

Questions ?

104

Questions ?

http://informatics.mayo.edu

Deepak SharmaDivision of Biomedical InformaticsMayo [email protected]