Putting topic maps to rest.tmra2010
description
Transcript of Putting topic maps to rest.tmra2010
1
Putting Topic Maps to
REST
David Damen, Maria Patrickson
September 30th 2010Putting Topic Maps to REST
What did we want?
• Remote access:
– Manipulate topic maps
– Manipulate topics
– Search
• RESTful
September 30th 2010Putting Topic Maps to REST
2
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
September 30th 2010Putting Topic Maps to REST
3
September 30th 2010Putting Topic Maps to REST
4
Resources Representations
Self-descriptive messages
HATEOAS
REST
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
September 30th 2010Putting Topic Maps to REST
5
HATEOAS – online book store
• Book 1
• Book 2
• Book 3
Fill basket
• Credit card
• Address
Add payment information • Shipping
method
• Gift options
Confirm order
September 30th 2010Putting Topic Maps to REST
6
September 30th 2010Putting Topic Maps to REST
7
REST
Topic Maps
engine
Community support
Tropics
Tropics – resources
• Topic Maps
• Topics
• Associations
• Query results
IRIs as item identifiers
IRIs as occurrences in a navigation ontology
September 30th 2010Putting Topic Maps to REST
8
Tropics – identifying resources
• /topics/earth
• /topics/earth?ti=/topicmaps/astronomy
• /topics/earth?ti=/groups/space
September 30th 2010Putting Topic Maps To REST
9
Tropics – representations
• As a Topic Map:
– XTM 2.0/2.1
– CXTM
– JTM
• Other formats can support most (but not all) resources:
– CTM
– LTM
September 30th 2010Putting Topic Maps to REST
10
Tropics – messages
• HTTP:
– GET
– PUT
– POST
– DELETE
September 30th 2010Putting Topic Maps to REST
11
Tropics - HATEOAS
• Application state in a Topic Maps engine?
• What is a Topic Maps engine is used for?
September 30th 2010Putting Topic Maps to REST
12
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
September 30th 2010Putting Topic Maps to REST
13
Knowledge navigation – example
September 30th 2010Putting Topic Maps to REST
14
Planet
Earth
Mars
Star
Celestial
Body
Sun
weight weight
Planet
Earth
Mars
Sattelite
ATLAS
picture
Knowledge navigation – intra Topic Map navigation
September 30th 2010Putting Topic Maps to REST
15
Planet
Earth
Mars
Star
Celestial
Body
Sun
weight weight
Planet
Earth
Mars
Sattelite
ATLAS
picture
Knowledge navigation – extra Topic Map navigation
September 30th 2010Putting Topic Maps to REST
16
Planet
Earth
Mars
Star
Celestial
Body
Sun
weight weight
Planet
Earth
Mars
Sattelite
ATLAS
picture
Knowledge navigation – merged Topic Map navigation
September 30th 2010Putting Topic Maps to REST
17
Planet
Earth
Mars
Star
Celestial
Body
Sun
weight weight
Planet
Earth
Mars
Sattelite
ATLAS
picture
Earth
picture
weight
Tropics – navigation ontology
September 30th 2010Putting Topic Maps to REST
18
Tropics – example – Earth Topic
September 30th 2010Putting Topic Maps to REST
19
Planet
Earth
Link
Parameter
Search the
engine
query
weight
http://.../searchuri
GETmethod
queryalias
qalias
Xsd:stringdata
type
Create
Topic
Tropics – Is HATEOAS worth it?
• Open question…
September 30th 2010Putting Topic Maps To REST
20
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
September 30th 2010Putting Topic Maps to REST
21
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!
September 30th 2010Putting Topic Maps to REST
22
Acknowledgement
September 30th 2010Putting Topic Maps to REST
23
• 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).
Questions?
Thank you for your time!
September 30th 2010Putting Topic Maps to REST
24