Putting Topic Maps To Rest: David Damen, Maria Patrickson

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

1

Putting Topic Maps to


REST

David Damen, Maria Patrickson

Putting Topic Maps to REST September 30th 2010


2

What did we want?


• Remote access:
– Manipulate topic maps
– Manipulate topics
– Search

• RESTful

Putting Topic Maps to REST September 30th 2010


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

Resources Representations

REST

Self-descriptive
HATEOAS
messages

Putting Topic Maps to REST September 30th 2010


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

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

REST

Topic
Maps
engine Tropics

Community
support

Putting Topic Maps to REST September 30th 2010


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

Tropics – identifying resources

• /topics/earth

• /topics/earth?ti=/topicmaps/astronomy

• /topics/earth?ti=/groups/space

Putting Topic Maps To REST September 30th 2010


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

Tropics – messages
• HTTP:
– GET
– PUT
– POST
– DELETE

Putting Topic Maps to REST September 30th 2010


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

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

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

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

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

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

Tropics – navigation ontology

Putting Topic Maps to REST September 30th 2010


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

Tropics – Is HATEOAS worth it?

• Open question…

Putting Topic Maps To REST September 30th 2010


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

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

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

Questions?

Thank you for your time!

Putting Topic Maps to REST September 30th 2010

You might also like