AWS Community Day CPH - Three problems of Terraform
Hatana - Virtual Topic Map Merging at TMRA 2010
1. TMRA
2010
Hatana
A
virtual
merging
engine
Uta
Schulze
Topic
Maps
Lab
at
the
University
of
Leipzig
Uta.Schulze@informaBk.uni-‐leipzig.de
2. Einführung
in
Topic
Maps
"Accessing the island of Hatana is a complicated process."
http://en.wikipedia.org/wiki/Hatana
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
3. Einführung
in
Topic
Maps
MoBvaBon
-‐
Not
that
complicated
Several data sources
One view?
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
4. Einführung
in
Topic
Maps
MoBvaBon
-‐
Not
that
complicated
Several data sources
One query language?
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
5. Einführung
in
Topic
Maps
MoBvaBon
-‐
Not
that
complicated
Several data sources
?
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
6. Einführung
in
Topic
Maps
Why
puJng
data
into
topic
maps?
MaJorToM-JLI
Because we can.
ARNotations
Coming
soon
Maiana
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
7. Einführung
in
Topic
Maps
Why
puJng
data
into
topic
maps?
Because we can.
Because information wants to be a topic map.
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
8. Einführung
in
Topic
Maps
Why
puJng
data
into
topic
maps?
Because we can.
Because information wants to be a topic map.
Because we’d like to merge…
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
9. Einführung
in
Topic
Maps
Why
don‘t
we
just
put
everything
into
one
big
topic
map
and
are
done
with?
Information
1. changes over time
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
10. Einführung
in
Topic
Maps
Why
don‘t
we
just
put
everything
into
one
big
topic
map
and
are
done
with?
Information
1. changes over time
2. has copyright issues
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
11. Einführung
in
Topic
Maps
Why
don‘t
we
just
put
everything
into
one
big
topic
map
and
are
done
with?
Information
1. changes over time
2. has copyright issues
3. has an origin that would get lost
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
12. Einführung
in
Topic
Maps
Why
don‘t
we
just
put
everything
into
one
big
topic
map
and
are
done
with?
Information
1. changes over time
2. has copyright issues
3. has an origin that would get lost
4. should sometimes remain in its database
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
13. Einführung
in
Topic
Maps
Another
soluBon:
Hatana
Hatana creates a layer over several data sources.
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
14. Einführung
in
Topic
Maps
Another
soluBon:
Hatana
Hatana creates a layer over several data sources.
This layer behaves as a topic map!
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
15. Einführung
in
Topic
Maps
Example
1:
TMRA
ParBcipants
(Java
Live
IntegraBon)
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
16. Einführung
in
Topic
Maps
Hatana
merges
...
• strictly according to the TMDM’s equality rules of constructs
• on demand
• and creates „virtual” topics, associations, …
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
17. Einführung
in
Topic
Maps
Equality
rules
for
topics
Graham Moore, Graham Moore, Graham Moore,
Vice Admiral Footballer Topic Mapper
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
18. Einführung
in
Topic
Maps
Equality
rules
for
topics
Graham Moore, Graham Moore, Graham Moore,
Vice Admiral Footballer Topic Mapper
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
19. Einführung
in
Topic
Maps
Equality
rules
for
topics
Graham Moore, Graham Moore, Graham Moore,
Vice Admiral Footballer Topic Mapper
NAME EQUALITY
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
20. Einführung
in
Topic
Maps
Equality
rules
for
topics
http://en.wikipedia.org/wiki/Graham_Moore_(footballer)
Graham Moore, Graham Moore, Graham Moore,
Vice Admiral Footballer Topic Mapper
http://en.wikipedia.org/wiki/Graham_Moore
http://www.topicmapslab.de/people/Graham_Moore
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
21. Einführung
in
Topic
Maps
Equality
rules
for
topics
http://en.wikipedia.org/wiki/Graham_Moore_(footballer)
Graham Moore, Graham Moore, Graham Moore,
Vice Admiral Footballer Topic Mapper
http://en.wikipedia.org/wiki/Graham_Moore
http://www.topicmapslab.de/people/Graham_Moore
IDENTIFIER EQUALITY
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
22. Einführung
in
Topic
Maps
Virtual
on
demand
merging
http://www.topicmapslab.de/people/
Graham_Moore
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
23. Einführung
in
Topic
Maps
Virtual
on
demand
merging
http://www.topicmapslab.de/people/
Graham_Moore
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
24. Einführung
in
Topic
Maps
Virtual
on
demand
merging
http://www.topicmapslab.de/people/
Graham_Moore
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
25. Einführung
in
Topic
Maps
Virtual
on
demand
merging
http://www.topicmapslab.de/people/
Graham_Moore
http://www.topicmapslab.de/people/Graham_Moore
http://psi.ontopedia.net/Graham_Moore
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
26. Einführung
in
Topic
Maps
Virtual
on
demand
merging
http://www.topicmapslab.de/people/
Graham_Moore
http://www.topicmapslab.de/people/Graham_Moore
http://psi.ontopedia.net/Graham_Moore
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
27. Einführung
in
Topic
Maps
Virtual
on
demand
merging
http://www.topicmapslab.de/people/
Graham_Moore
http://www.topicmapslab.de/people/Graham_Moore
http://psi.ontopedia.net/Graham_Moore
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
28. Einführung
in
Topic
Maps
Virtual
on
demand
merging
http://www.topicmapslab.de/people/
Graham_Moore
http://psi.ontopedia.net/Graham_Moore
http://www.topicmapslab.de/people/Graham_Moore
http://psi.ontopedia.net/Graham_Moore
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
29. Einführung
in
Topic
Maps
Virtual
on
demand
merging
http://www.topicmapslab.de/people/
Graham_Moore
http://psi.ontopedia.net/Graham_Moore
http://www.topicmapslab.de/people/Graham_Moore
http://psi.ontopedia.net/Graham_Moore
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
30. Einführung
in
Topic
Maps
Virtual
on
demand
merging
http://www.topicmapslab.de/people/
Graham_Moore
virtual topic
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
31. Einführung
in
Topic
Maps
Virtual
on
demand
merging
virtual names
get all names
virtual topic
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
32. Einführung
in
Topic
Maps
Virtual
on
demand
merging
Virtual topic
• empty
• wrapper that
• acts as topic ...
• but stores ids of equal source topics
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
33. Einführung
in
Topic
Maps
Example
2:
Merging
the
Italian
and
Norwegian
Opera
Problem
• only 20 out of 2767 topics with equal identifiers
• http://psi.ontopia.net/music/opera vs. http://psi.ontopedia.net/Opera
• no editing of sources
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
34. Einführung
in
Topic
Maps
Example
2:
Merging
the
Italian
and
Norwegian
Opera
Problem
• Only 20 out of 2767 topics with same identifiers
• http://psi.ontopia.net/music/opera vs. http://psi.ontopedia.net/Opera
• No editing of sources
Possible solution
• topic map with topic containing e.g. both „Opera“ identifiers
• source: expert knowledge, Subj3ct, ...
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
35. Einführung
in
Topic
Maps
Advantages
of
virtual
merging
• Combining read-only topic maps
• Combining private with public available topic maps (Maiana feature)
• Information about the origin
• On demand merging
• Playing around with identities
• Validating topic map against a schema, database backend
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
36. Einführung
in
Topic
Maps
Performance
• There is runtime
• Highly dependent of the underlying engine
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
37. Einführung
in
Topic
Maps
Performance
• There is runtime
• Highly dependent of the underlying engine
• Validation of the opera map against the TMCL Meta Schema:
• hard merge using Ontopia: instantly
• improved Hatana version: took quite some time
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
38. Einführung
in
Topic
Maps
Performance
• There is runtime
• Highly dependent of the underlying engine
• Validation of the opera map against the TMCL Meta Schema:
• hard merge using Ontopia: instantly
• more improved Hatana version: a moment
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
39. Einführung
in
Topic
Maps
Performance
• There is runtime
• Highly dependent of the underlying engine
• Validation of the opera map against the TMCL Meta Schema:
• hard merge using Ontopia: instantly
• future Hatana version: ?
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
40. Einführung
in
Topic
Maps
ImplementaBon
• read-only Java topic maps engine (TMAPI)
• Topic Map System containing virtual topic maps
• Virtual construct: empty layer storing the ids of its source constructs
• Caching: Id-Storing
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
41. Einführung
in
Topic
Maps
I
did
not
talk
about
• Merging topics that reify e.g. equal names
• Merging associations and roles
• most time consuming
• Cache invalidation
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
42. Einführung
in
Topic
Maps
Next
steps
• Learning from Jack Park’s merge assertions
• Implementing the Container in Container feature
• Increasing performance
• Improving the Container view in Maiana
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>
43. Einführung
in
Topic
Maps
Thank you for your attention!
Uta Schulze, Topic Maps Lab
<Uta.Schulze@informatik.uni-leipzig.de>