tmbrowse protocol
DESCRIPTION
TRANSCRIPT
TMRA 2009: Openspace Session Friday: TMBrowse Protocol2009-11-13
1 of 10Xuân Baldauf <[email protected]>Lutz Maicher <[email protected]>
TMBrowse Protocol
TMRA 2009: Openspace Session Friday: TMBrowse Protocol2009-11-13
2 of 10Xuân Baldauf <[email protected]>Lutz Maicher <[email protected]>
Problem
given a topic identity
subject identifier
subject locator
item identifier
give me everything you know about that topic
names, occurrences, associations
not: other axes (all constructs where this topic is type of)
only direct neighbours
TMRA 2009: Openspace Session Friday: TMBrowse Protocol2009-11-13
3 of 10Xuân Baldauf <[email protected]>Lutz Maicher <[email protected]>
Use cases
Linked data
browse huge (inferred) topic maps
e.g. information on all proteins ever discovered
Web 3.0 (e.g. Browse remote Topic Maps in Maiana)
TMRA 2009: Openspace Session Friday: TMBrowse Protocol2009-11-13
4 of 10Xuân Baldauf <[email protected]>Lutz Maicher <[email protected]>
RequestUse HTTP GET
One base URI
e.g. “http://browse.foo.com/somemap/browse”
3 query parameters
“sid”: topic identified by subject indicator
“slo”: topic identified by subject locator
“iid”: topic identified by item identifier
TMRA 2009: Openspace Session Friday: TMBrowse Protocol2009-11-13
5 of 10Xuân Baldauf <[email protected]>Lutz Maicher <[email protected]>
Example RequestGET /somemap/browse?slo=urn:isbn:978-3-540-71944-1Host: browse.foo.comAccept: application/tm+xml; version=2.1
TMRA 2009: Openspace Session Friday: TMBrowse Protocol2009-11-13
6 of 10Xuân Baldauf <[email protected]>Lutz Maicher <[email protected]>
Responseeither: HTTP 204 No Content
in case the topic is not found in the map
or: HTTP 200 OK
a topic map fragment around the topic
with additional “next link” data
in the data format desired:application/tm+xml
text/ctm
text/html
TMRA 2009: Openspace Session Friday: TMBrowse Protocol2009-11-13
7 of 10Xuân Baldauf <[email protected]>Lutz Maicher <[email protected]>
Next link dataeach topic, before transferring to the client, receives an additional occurrence by the server
type: “more-information-at”
value: TMBrowseProtocol-URL
datatype: IRI
This occurrence should be filtered out by the client
TMRA 2009: Openspace Session Friday: TMBrowse Protocol2009-11-13
8 of 10Xuân Baldauf <[email protected]>Lutz Maicher <[email protected]>
Example Request+ResponseGET /somemap/browse?slo=urn:isbn:978-3-540-71944-1Host: browse.foo.comAccept: text/ctm
HTTP/1.1 200 OKContent-Type: text/ctm
edited(editor: Lars_Marius_Garshol,editee:= <urn:isbn:978-3-540-71944-1>)
Lars_Marius_Garsholhttp://www.garshol.priv.no/ ;more-information-at:
http://browse.foo.com/somemap/browse?sid=http://www.garshol.priv.no/
TMRA 2009: Openspace Session Friday: TMBrowse Protocol2009-11-13
9 of 10Xuân Baldauf <[email protected]>Lutz Maicher <[email protected]>
Conformance by servers
Support at least these media types:
application/tm+xml
text/ctm
text/html
Properly interpret the “Accept” header (according to the HTTP/1.1 standard)
HTML is for a user manually browsing
TMRA 2009: Openspace Session Friday: TMBrowse Protocol2009-11-13
10 of 10Xuân Baldauf <[email protected]>Lutz Maicher <[email protected]>
Conformance by clients
Properly specify the desired media type in the “Accept” header
TMRA 2009: Openspace Session Friday: TMBrowse Protocol2009-11-13
11 of 10Xuân Baldauf <[email protected]>Lutz Maicher <[email protected]>
Kills subj3ct.com?It is possible to deliver more than 1 “more-information-at” occurrence per topic
for everyone
Sorry Graham ☺
TMRA 2009: Openspace Session Friday: TMBrowse Protocol2009-11-13
12 of 10Xuân Baldauf <[email protected]>Lutz Maicher <[email protected]>
Finish
спасибо (Russian) დიდი მადლობა (Georgian)
(Arabic) شكرا 謝謝 (Mandarin)
ありがとう (Japanese)(Hebrew) רב תודות
ᖁᔭᓇᐃᓐᓂ (Inuktitut)ki'esai (Lojban)