1
Transformation of Protg Ontologies into the Eclipse Modeling - - PowerPoint PPT Presentation
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
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 Framework
http://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 work
Model Representation
16
EMF at work
Model Representation
XML Schema UML
17
EMF at work
Model Representation
XML Schema UML
18
EMF at work
Model Representation (XSD)
19
EMF at work
Model Representation (XSD)
20
EMF at work
Create an EMF Project
21
EMF at work
Create an EMF Project
22
EMF at work
Create an EMF Project
23
EMF at work
Create an EMF Project
24
EMF at work
Create an EMF Project
25
EMF at work
EMF Project Components
26
EMF at work
EMF Project Components
27
EMF at work
EMF Project Components
CORE GENMODEL
28
EMF at work
EMF CORE Component
29
EMF at work
EMF CORE Component
30
EMF at work
EMF GENMODEL Component
31
EMF at work
EMF GENMODEL Component
32
EMF at work
Generate Implementation
33
EMF at work
Generate Implementation
Generates Implementation
34
EMF at work
Implementation
35
EMF at work
Implementation Generated Implementation
36
EMF at work
XML Schema Snapshot
37
EMF at work
Generated Implementation
38
EMF at work
Generated Implementation
39
EMF at work
Generated 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 &
- bjects used in LexGrid tooling
- Supports non-semantic entities (from
the toolkit perspective) as name/value pair
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
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
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
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
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
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
51
LexGrid Model
CodedEntry Node
Concept Code Concept Name Property Name Property Value
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
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)
54
LexGrid Model
Association Node
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
56
LexGrid Model
http://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 Mapping
Classes and Instances
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
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
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
64
EMF at work
65
EMF at work
66
EMF at work
NOW Create objects using Generated EMF Classes AND Generate XML
- utput file
67
EMF at work Generated Implementation Classes
Generated Implementation
68
EMF at work Generated Implementation Classes
69
EMF at work Generated Implementation Classes
70
EMF at work Generated Implementation Classes
71
EMF at work Factory Classes
72
EMF at work Create Coding Scheme
Creates Coding Scheme
73
EMF at work Create Concept
74
EMF at work Create Relation
75
EMF at work XML Serialization
These classes are from ECORE framework e.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 Status
EMF 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
- utput 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:/ / inform atics.m ayo.edu
Deepak Sharma Division of Biomedical Informatics Mayo Clinic sharma.deepak2@mayo.edu