putting topic maps to rest.tmra2010

Post on 18-Dec-2014

861 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

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

top related