Experiments in Linked Data
-
Upload
lars-marius-garshol -
Category
Technology
-
view
1.116 -
download
0
description
Transcript of Experiments in Linked Data
1
Experiments in linked data
Lars Marius Garshol, <[email protected]>Topic Maps 2010, Oslo, 2010-04-15http://twitter.com/larsga
2
What is this talk about?
• Connecting across applications– using common identifiers for subjects
• The applications are– tmphoto photo gallery– tmtools Topic Maps tools index– Larsblog my private blog– tmcase1 Naito-san’s index of Topic
Maps talks– ontopia.netthe new Ontopia web site (not live
yet)
3
Why experiments?
• I prefer to talk about real projects– but linked data has been hard to sell to
customers– because the concept is hard to grasp?– because collaboration between organizations
is hard?– because the market wasn’t ready yet?– anyway, there are very few projects so far
• Therefore I’m showing some private experiments instead– the scale and complexity are limited– but it does demonstrate some of the potential
4
A lightning tutorial
Identifiers
5
Identifiers?
• PSIs (Published Subject Identifiers)– a part of the Topic Maps standard, used for
merging– a URI attached to a topic to identify it– the URI should refer to a page defining the
subject
T
http://psi.ontopedia.net/Lars_Marius_Garshol
6
NameDefinition
7
PSIs – things to note
• Anyone can make a PSI– as long as they can publish content on the
web
• Domain names ensure PSIs are globally unique– only I make PSIs starting
http://psi.garshol.priv.no/
• PSIs can identify anything– if you can imagine it, you can make a PSI for
it
8
Starting with the first application
So, to the experiments
9
tmphoto
• A topic map to organize my personal photos– contains ~15,000 photos
• A web gallery runs on Ontopia– on www.garshol.priv.no
PhotoPerson
Event
Category
Location
http://www.garshol.priv.no/tmphoto/
10
You need more than one application to have true linked data. Data inside a single application is of course linked, but only in a trivial sense.
No linked data at this point
11
tmtools
• An index of Topic Maps tools– organized as shown on the
right
• Again, web application for browsing– screenshots below
Softwareproduct
Person
Organization
Platform
Category
Technology
http://www.garshol.priv.no/tmtools/
12
The person page
Boring! No content.
13
And in tmphoto...
14
get-illustration
• A web service in tmphoto– receives the PSI of a person– then automatically picks a suitable photo of that
person
• Based on– vote score for photos,– categories (portrait),– other people in photo– ...
• The service returns– a topic map fragment with links to the person page
and a few different sizes of the selected photo
http://www.garshol.priv.no/blog/183.html
15
get-illustration
tmphoto tmtools
Do you have a photo ofhttp://psi.ontopedia.net/
Benjamin_Bock ?http://www.garshol.priv.no/tmphoto/get-illustration?identifier=http://psi.on....
Hmmm. Scores, categories,
people in photo, ...
Topic mapfragment
16
Voila...
17
Points to note
• No hard-wiring of links– just add identifiers when creating people topics– photos appear automatically– if a better photo is added later, it’s replaced
automatically
• No copying of data– no duplication, no extra maintenance
• Very loose binding– nothing application-specific
• Highly extensible– once the identifiers are in place we can easily pull
in more content from other sources
18
How to choose common identifiers?
• I was of course able to use the same PSI because I produced both datasets
• But what if the two applications were maintained by different people?
• Subj3ct.com solves that problem– search on Subj3ct to find global identifiers for
your subjects
19
20
Overview
tmtools tmphotoget-illustration
21
Now what?
So far, so good
22
My blog
• Has more content about– people (tmphoto & tmtools),– events (tmphoto),– tools (tmtools),– technologies (tmtools)
• Should be available in those applications
23
Solution
• My blog posts are tagged– but the tags are topics, which can have PSIs– these PSIs are used in tmphoto and tmtools,
too
• The get-topic-page request lets tmphoto & tmtools ask the blog for links to relevant posts– given identifiers for a topic, returns links to
pages about that topic
http://www.garshol.priv.no/blog/145.html
24
get-topic-page
Blog tmphoto
Do you have pages abouthttp://psi.ontopedia.net/
TMRA_2008 ?http://www.garshol.priv.no/blog/get-topic-page?identifier=http://psi.on....
Topic mapfragment
Topics linking toindividual blog posts
25
In tmphoto
26
Overview
tmtools tmphotoget-illustration
blog
get-topic-page
27
Easy next steps
• Topic pages on the blog must link to tmtools and tmphoto– trivial to do via get-topic-page
• And the blog can use get-illustration, too– and so can ontopia.net and tmcase1
• Oh, and they should link to the blog and the other applications...
28
After a little hacking...
tmtools tmphoto
blog
tmcase1
ontopia.net
get-topic-pageget-illustration
What a mess!
29
We need a clean-up here
• The get-topic-page service is generic– that is, it’s not tied to any specific application– further, the result set is a topic map fragment
• Topic maps can be merged as we know• So, we could make a hub service– basically, a get-topic-page aggregator
30
Client app #2
Client app #1 Client app #3
How it works
Hub service
blog tmcase1 tmtools tmphoto
ontopia.net
31
Benefits of this approach
• Much cleaner architecture– overview diagram no longer looks like a bowl
of spaghetti
• Easier to maintain– if I want to add/remove a service I do it in a
single place
• Safer– the hub service insulates clients from
slow/unresponsive servers
32
The result
33
Subj3ct.com
• Subj3ct is not just a database of PSIs– it also has links to pages with more
information about the subjects– this can easily be wrapped in a get-topic-page
service
Subj3ctWrapperserviceClient
get-topic-pagehttp://api.subj3ct.com/subjects
34
So we can add Subj3ct...
Client app #2
Hub service
blog tmcase1 tmtools tmphoto
ontopia.netSubj3ct
Client app #1 Client app #3
35
There is much more to tell
• Unfortunately, 35 minutes is not very much– and this stuff takes some explaining
• So I had to omit– sharing data with TMSync– manual reuse of data with the Ontopoly editor– ...
• Maybe next year
36
Conclusion
• Linked data is technically easy– conceptually and politically it’s harder
• All you really need is– shared PSIs on your topics, and– someone to connect with
• Subj3ct.com is crucial– ensures that different players pick the same
PSIs independently– without this there is no connecting...