Aranuka Presentation Topic Maps 2010 Oslo

1,436 views

Published on

The slides of the presentation in Oslo at the Topic Maps 2010.

Published in: Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
1,436
On SlideShare
0
From Embeds
0
Number of Embeds
33
Actions
Shares
0
Downloads
13
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Aranuka Presentation Topic Maps 2010 Oslo

  1. 1. Aranuka - A POJO to Topic Maps mapping library Dipl.-Inf. Hannes Niederhausen Christian Haß M.Sc. Topic Maps Lab Natural Language Processing Group Department of Computer Science University of Leipzig April 15th 2010 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 1/32
  2. 2. What is Aranuka? Atoll in the south pacific 0◦ 10 N 173◦ 35 E 15.5 square kilometers population of 852 Figure: http://en.wikipedia.org/wiki/Aranuka Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 2/32
  3. 3. What is Aranuka? Atoll in the south pacific 0◦ 10 N 173◦ 35 E 15.5 square kilometers population of 852 OTMM library Figure: http://en.wikipedia.org/wiki/Aranuka Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 2/32
  4. 4. Why do we need this? Topic Maps very generic Applications often more specific Makes development cumbersome Developer not familiar with Topic Maps Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 3/32
  5. 5. Idea Framework which handles Topic Maps interactions Should not influence model design Concept of JPA Use annotations Define the mapping Add schema information to the model Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 4/32
  6. 6. Mapping Classes → Topic Types Instance → Topics Strings → Names Strings or primitive types → Occurrences Other topic annotated classes → Associations Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 5/32
  7. 7. Not supported No variants No reification Only static scopes Only one topic type Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 6/32
  8. 8. What are annotations? Meta Information Can have parameter Available since Java 5.0 Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 7/32
  9. 9. A simple example 1 p u b l i c c l a s s Person { 2 3 i n t id ; 4 S t r i n g name ; 5 Date d a y O f B i r t h ; 6 7 Set <Person > f r i e n d s ; 8 } Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 8/32
  10. 10. Defining a topic type 1 2 p u b l i c c l a s s Person Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 9/32
  11. 11. Defining a topic type 1 @Topic ( s u b j e c t _ i d e n t i f i e r ="http://example/person" ) 2 p u b l i c c l a s s Person Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 10/32
  12. 12. We need an identifier 1 2 i n t id ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 11/32
  13. 13. We need an identifier 1 @Id ( t y p e =IdType . ITEM_IDENTIFIER ) 2 i n t id ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 12/32
  14. 14. Defining a name 1 2 S t r i n g name ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 13/32
  15. 15. Defining a name 1 @Name( t y p e ="http://example/name" ) 2 S t r i n g name ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 14/32
  16. 16. Defining an occurrance 1 2 Date d a y O f B i r t h ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 15/32
  17. 17. Defining an occurrance 1 @Occurrence ( t y p e ="http://example/day_of_birth" ) 2 Date d a y O f B i r t h ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 16/32
  18. 18. Defining an association 1 2 3 4 5 Set <Person > f r i e n d s ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 17/32
  19. 19. Defining an association 1 @Association ( 2 t y p e ="http://example/friendship" , 3 p l a y e d _ r o l e ="http://example/has_friend" , 4 o t h e r _ r o l e ="http://example/is_friend_of" ) 5 Set <Person > f r i e n d s ; Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 18/32
  20. 20. Architecture I Aranuka is a mapper to a Topic Maps engine Uses third party engines via connectors Using Aranuka leads to the following achitecture Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 19/32
  21. 21. Architecture II Java Application Domain Model Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 20/32
  22. 22. Architecture II Java Application Annotated Domain Model Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 21/32
  23. 23. Architecture II Java Application Annotated Domain Model Aranuka Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 22/32
  24. 24. Architecture II Java Application Annotated Domain Model Aranuka Ontopia Ontopia TinyTiM Memory RDBMS Connector Connector Connector Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 23/32
  25. 25. Configuration Choose connector Register annotated classes Set properties like file name, base locator or database connections Optional: Set names for the types specified in the annotation Set prefixes which can be used by identifiers in annotations and in identifierr in instances Creates session Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 24/32
  26. 26. Session Used to persist instances of annotated classes Retrieve all instances of a given type Retrieve instance by identifier Flush topic map Retrieved instances are nosynchronizeded with topic map Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 25/32
  27. 27. What can I use it for? Add Topic Maps layer to existing applications Create applications using Topic Maps as single persistence layer Use Aranuka to easily feed a topic map Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 26/32
  28. 28. Application Example: Yacca-Editor Application to enter the data of the topic map Topic Map is used to upload to a Topic Maps Browser Topic Map is used for Yacca game (http://yacca.me) Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 27/32
  29. 29. Summary Aranuka maps java classes top topics Makes handling Topic Maps easier Does not support every construct of the TMDM Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 28/32
  30. 30. Outlook Generate model with annotations based on TMCL Find way to map java.util.Map Provide TMQL access in session Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 29/32
  31. 31. Questions? Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 30/32
  32. 32. Where can you find. . . Aranuka: http://code.google.com/p/aranuka/ Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 31/32
  33. 33. Where can you find. . . Aranuka: http://code.google.com/p/aranuka/ Documentation: http://docs.topicmapslab.de/aranuka/ Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 31/32
  34. 34. Where can you find. . . Aranuka: http://code.google.com/p/aranuka/ Documentation: http://docs.topicmapslab.de/aranuka/ Discussion Group: http://groups.google.com/group/aranuka Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 31/32
  35. 35. Where can you find. . . Aranuka: http://code.google.com/p/aranuka/ Documentation: http://docs.topicmapslab.de/aranuka/ Discussion Group: http://groups.google.com/group/aranuka Us: At the Topic Maps Lab in Leipzig (http://www.topicmapslab.de) Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 31/32
  36. 36. Thank you for listening. Dipl.-Inf. Hannes Niederhausen, Christian Haß M.Sc. (Topic Maps Lab) April 15th 2010 32/32

×