24
1 Putting Topic Maps to REST David Damen, Maria Patrickson September 30th 2010 Putting Topic Maps to REST

Putting topic maps to rest.tmra2010

  • Upload
    tmra

  • View
    865

  • Download
    2

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Putting topic maps to rest.tmra2010

1

Putting Topic Maps to

REST

David Damen, Maria Patrickson

September 30th 2010Putting Topic Maps to REST

Page 2: Putting topic maps to rest.tmra2010

What did we want?

• Remote access:

– Manipulate topic maps

– Manipulate topics

– Search

• RESTful

September 30th 2010Putting Topic Maps to REST

2

Page 3: Putting topic maps to rest.tmra2010

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

Page 4: Putting topic maps to rest.tmra2010

September 30th 2010Putting Topic Maps to REST

4

Resources Representations

Self-descriptive messages

HATEOAS

REST

Page 5: Putting topic maps to rest.tmra2010

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

Page 6: Putting topic maps to rest.tmra2010

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

Page 7: Putting topic maps to rest.tmra2010

September 30th 2010Putting Topic Maps to REST

7

REST

Topic Maps

engine

Community support

Tropics

Page 8: Putting topic maps to rest.tmra2010

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

Page 9: Putting topic maps to rest.tmra2010

Tropics – identifying resources

• /topics/earth

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

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

September 30th 2010Putting Topic Maps To REST

9

Page 10: Putting topic maps to rest.tmra2010

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

Page 11: Putting topic maps to rest.tmra2010

Tropics – messages

• HTTP:

– GET

– PUT

– POST

– DELETE

September 30th 2010Putting Topic Maps to REST

11

Page 12: Putting topic maps to rest.tmra2010

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

Page 13: Putting topic maps to rest.tmra2010

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

Page 14: Putting topic maps to rest.tmra2010

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

Page 15: Putting topic maps to rest.tmra2010

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

Page 16: Putting topic maps to rest.tmra2010

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

Page 17: Putting topic maps to rest.tmra2010

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

Page 18: Putting topic maps to rest.tmra2010

Tropics – navigation ontology

September 30th 2010Putting Topic Maps to REST

18

Page 19: Putting topic maps to rest.tmra2010

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

Page 20: Putting topic maps to rest.tmra2010

Tropics – Is HATEOAS worth it?

• Open question…

September 30th 2010Putting Topic Maps To REST

20

Page 21: Putting topic maps to rest.tmra2010

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

Page 22: Putting topic maps to rest.tmra2010

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

Page 23: Putting topic maps to rest.tmra2010

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).

Page 24: Putting topic maps to rest.tmra2010

Questions?

Thank you for your time!

September 30th 2010Putting Topic Maps to REST

24