The document discusses putting Topic Maps to REST. It describes existing Topic Map APIs and their limitations. It then introduces Tropics, a proposed RESTful API for Topic Maps. Tropics would support resources like topics, associations, and search results. It advocates the HATEOAS principle to structure navigation between resources. The document outlines Tropics' proposed URI structure and status of implementation.
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
Putting topic maps to rest.tmra2010
1. 1
Putting Topic Maps to
REST
David Damen, Maria Patrickson
Putting Topic Maps to REST September 30th 2010
2. 2
What did we want?
• Remote access:
– Manipulate topic maps
– Manipulate topics
– Search
• RESTful
Putting Topic Maps to REST September 30th 2010
3. 3
What is out there?
• TMRAP:
– Part of Ontopia
– Limited in functionality
– Not exactly RESTful
• Topincs:
– Better in functionality, but not entirely
• TMIP:
– Built on top of path expression Topic Maps query language
– Complicated
Putting Topic Maps to REST September 30th 2010
4. 4
Resources Representations
REST
Self-descriptive
HATEOAS
messages
Putting Topic Maps to REST September 30th 2010
5. 5
HATEOAS
• Hypermedia As The Engine Of Application State
– RESTful webapp should be modelled as a state machine
– Client transitions from state to state
– Representations contain valid state transitions
Putting Topic Maps to REST September 30th 2010
6. 6
HATEOAS – online book store
Add payment
• Book 1 information • Shipping
• Book 2 • Credit card method
• Book 3 • Address • Gift options
Confirm
Fill basket
order
Putting Topic Maps to REST September 30th 2010
7. 7
REST
Topic
Maps
engine Tropics
Community
support
Putting Topic Maps to REST September 30th 2010
8. 8
Tropics – resources
• Topic Maps
• Topics
• Associations
• Query results
IRIs as item identifiers
IRIs as occurrences in a navigation ontology
Putting Topic Maps to REST September 30th 2010
9. 9
Tropics – identifying resources
• /topics/earth
• /topics/earth?ti=/topicmaps/astronomy
• /topics/earth?ti=/groups/space
Putting Topic Maps To REST September 30th 2010
10. 10
Tropics – representations
• As a Topic Map:
– XTM 2.0/2.1
– CXTM
– JTM
• Other formats can support most (but not all) resources:
– CTM
– LTM
Putting Topic Maps to REST September 30th 2010
11. 11
Tropics – messages
• HTTP:
– GET
– PUT
– POST
– DELETE
Putting Topic Maps to REST September 30th 2010
12. 12
Tropics - HATEOAS
• Application state in a Topic Maps engine?
• What is a Topic Maps engine is used for?
Putting Topic Maps to REST September 30th 2010
13. 13
Tropics - HATEOAS
• Information extraction:
– Querying
– Navigation
• Application state for a Topic Maps engine:
– The piece of information retrieved
• State transition for a Topic Maps engine client:
– Traversal from one piece of information to the next
– Querying
– Administrative functions
Putting Topic Maps to REST September 30th 2010
14. 14
Knowledge navigation – example
Celestial
Body
Planet Sattelite
Planet Star
Mars
ATLAS
Mars
Earth
Earth picture
Sun
weight weight
Putting Topic Maps to REST September 30th 2010
15. 15
Knowledge navigation – intra Topic Map navigation
Celestial
Body
Planet Sattelite
Planet Star
Mars
ATLAS
Mars
Earth
Earth picture
Sun
weight weight
Putting Topic Maps to REST September 30th 2010
16. 16
Knowledge navigation – extra Topic Map navigation
Celestial
Body
Planet Sattelite
Planet Star
Mars
ATLAS
Mars
Earth
Earth picture
Sun
weight weight
Putting Topic Maps to REST September 30th 2010
17. 17
Knowledge navigation – merged Topic Map navigation
Celestial Earth
Body
weight
picture Planet Sattelite
Planet Star
Mars
ATLAS
Mars
Earth
Earth picture
Sun
weight weight
Putting Topic Maps to REST September 30th 2010
18. 18
Tropics – navigation ontology
Putting Topic Maps to REST September 30th 2010
19. 19
Tropics – example – Earth Topic
Create
Topic
Parameter
Planet
Link
query
Earth
alias
query
weight Search the alias
q
engine
data
type Xsd:string
uri
http://.../search
method
GET
Putting Topic Maps to REST September 30th 2010
20. 20
Tropics – Is HATEOAS worth it?
• Open question…
Putting Topic Maps To REST September 30th 2010
21. 21
Tropics – proposed URI space
• /topicmaps/{id}
• /groups/{id}
• /topics/{id}
• /associations/{id}
• /search
• Query/filter parameters
• Versioning
=> More detailed info in the API definition at http://j.mp/tropics-api
Putting Topic Maps to REST September 30th 2010
22. 22
Tropics – current status
• /topicmaps – GET
• /topicmaps/{id} – GET, PUT
• /groups/all – GET
• /topics – GET (only ‘has-type’)
• /topics/{id} - GET
• /search - GET (supports ‘tolog’)
• (Will be) part of Ontopia Sandbox
• Open for participation!
Putting Topic Maps to REST September 30th 2010
23. 23
Acknowledgement
• Tropics:
• David Damen
• Maria Patriksson
This work has received funding from the European Commission through the
Seventh Framework Programme (FP7/2007-2013) under the Space Theme, under
grant agreement n◦218815 within the ULISSE Project (USOCs KnowLedge
Integration and Dissemination for Space Science Experimentation).
Putting Topic Maps to REST September 30th 2010
24. 24
Questions?
Thank you for your time!
Putting Topic Maps to REST September 30th 2010