SlideShare une entreprise Scribd logo
1  sur  36
Experiments in linked data Lars Marius Garshol, <larsga@bouvet.no> Topic Maps 2010, Oslo, 2010-04-15 http://twitter.com/larsga
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.net	the new Ontopia web site (not live yet)
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
A lightning tutorial Identifiers
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
Name Definition
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
Starting with the first application So, to the experiments
tmphoto Category Person Photo Event Location http://www.garshol.priv.no/tmphoto/ A topic map to organize my personal photos contains ~15,000 photos A web gallery runs on Ontopia on www.garshol.priv.no
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
tmtools http://www.garshol.priv.no/tmtools/ Organization An index of Topic Maps tools organized as shown on the right Again, web application for browsing screenshots below Person Software product Platform Category Technology
The person page Boring! No content.
And in tmphoto...
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
get-illustration Hmmm. Scores, categories, people in photo, ... Do you have a photo of http://psi.ontopedia.net/Benjamin_Bock ? http://www.garshol.priv.no/tmphoto/get-illustration?identifier=http://psi.on.... tmphoto tmtools Topic map fragment
Voila...
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
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
Overview tmtools tmphoto get-illustration
Now what? So far, so good
My blog Has more content about people 			(tmphoto & tmtools), events 			(tmphoto), tools 			(tmtools), technologies 	(tmtools) Should be available in those applications
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
get-topic-page Do you have pages about http://psi.ontopedia.net/TMRA_2008 ? http://www.garshol.priv.no/blog/get-topic-page?identifier=http://psi.on.... Blog tmphoto Topic map fragment Topics linking to individual blog posts
In tmphoto
Overview tmtools tmphoto get-illustration get-topic-page blog
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...
After a little hacking... What a mess! tmcase1 tmtools tmphoto ontopia.net blog get-topic-page get-illustration
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
Client app #2 Client app #1 Client app #3 How it works Hub service blog tmcase1 tmtools tmphoto ontopia.net
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
The result
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 http://api.subj3ct.com/ subjects get-topic-page Subj3ct Wrapper service Client
So we can add Subj3ct... Client app #2 Client app #1 Client app #3 Hub service blog tmcase1 tmtools tmphoto ontopia.net Subj3ct
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
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...

Contenu connexe

En vedette

Balloon Light
Balloon LightBalloon Light
Balloon Lightsanily
 
Jwcv Jbci 2 P System Tech
Jwcv Jbci 2 P System TechJwcv Jbci 2 P System Tech
Jwcv Jbci 2 P System Techjbci
 
Assessing System Readiness
Assessing System ReadinessAssessing System Readiness
Assessing System Readinessjbci
 
TMSync: Synchronizing topic maps
TMSync: Synchronizing topic mapsTMSync: Synchronizing topic maps
TMSync: Synchronizing topic mapsLars Marius Garshol
 
01. bagian hak anak
01. bagian hak anak01. bagian hak anak
01. bagian hak anakwirantayudha
 
Jwcv Jbci
Jwcv JbciJwcv Jbci
Jwcv Jbcijbci
 
Hafslund SESAM - Semantic integration in practice
Hafslund SESAM - Semantic integration in practiceHafslund SESAM - Semantic integration in practice
Hafslund SESAM - Semantic integration in practiceLars Marius Garshol
 
A Suite Of Tools For Technology Assessment
A Suite Of Tools For Technology AssessmentA Suite Of Tools For Technology Assessment
A Suite Of Tools For Technology Assessmentjbci
 
A Comprehensive Overview Of Techniquess For Measuring System Readiness Final ...
A Comprehensive Overview Of Techniquess For Measuring System Readiness Final ...A Comprehensive Overview Of Techniquess For Measuring System Readiness Final ...
A Comprehensive Overview Of Techniquess For Measuring System Readiness Final ...jbci
 
Using the search engine as recommendation engine
Using the search engine as recommendation engineUsing the search engine as recommendation engine
Using the search engine as recommendation engineLars Marius Garshol
 

En vedette (13)

Balloon Light
Balloon LightBalloon Light
Balloon Light
 
Jwcv Jbci 2 P System Tech
Jwcv Jbci 2 P System TechJwcv Jbci 2 P System Tech
Jwcv Jbci 2 P System Tech
 
Assessing System Readiness
Assessing System ReadinessAssessing System Readiness
Assessing System Readiness
 
Go Green
Go GreenGo Green
Go Green
 
TMSync: Synchronizing topic maps
TMSync: Synchronizing topic mapsTMSync: Synchronizing topic maps
TMSync: Synchronizing topic maps
 
Eddy
EddyEddy
Eddy
 
01. bagian hak anak
01. bagian hak anak01. bagian hak anak
01. bagian hak anak
 
Jwcv Jbci
Jwcv JbciJwcv Jbci
Jwcv Jbci
 
Hafslund SESAM - Semantic integration in practice
Hafslund SESAM - Semantic integration in practiceHafslund SESAM - Semantic integration in practice
Hafslund SESAM - Semantic integration in practice
 
A Suite Of Tools For Technology Assessment
A Suite Of Tools For Technology AssessmentA Suite Of Tools For Technology Assessment
A Suite Of Tools For Technology Assessment
 
A Comprehensive Overview Of Techniquess For Measuring System Readiness Final ...
A Comprehensive Overview Of Techniquess For Measuring System Readiness Final ...A Comprehensive Overview Of Techniquess For Measuring System Readiness Final ...
A Comprehensive Overview Of Techniquess For Measuring System Readiness Final ...
 
Using the search engine as recommendation engine
Using the search engine as recommendation engineUsing the search engine as recommendation engine
Using the search engine as recommendation engine
 
Deduplication
DeduplicationDeduplication
Deduplication
 

Similaire à Experiments in Linked Data

New technologies
New technologiesNew technologies
New technologiesKatieAde1
 
There is an App for...Vanity URLs
There is an App for...Vanity URLsThere is an App for...Vanity URLs
There is an App for...Vanity URLsMagnolia
 
Mconf14 aperto vanity url-app
Mconf14 aperto vanity url-appMconf14 aperto vanity url-app
Mconf14 aperto vanity url-appAperto Nachname
 
Developer connect - microservices
Developer connect - microservicesDeveloper connect - microservices
Developer connect - microservicesAnton McConville
 
Week4 : Wireframes and Sketching
Week4 : Wireframes and SketchingWeek4 : Wireframes and Sketching
Week4 : Wireframes and SketchingMark Zelis
 
Jeannine boone4_11portfolio
Jeannine boone4_11portfolioJeannine boone4_11portfolio
Jeannine boone4_11portfoliojboo2
 
3d Interactive presentation software
3d Interactive presentation software3d Interactive presentation software
3d Interactive presentation softwareAurora3D Software
 
Evaluation K - technologies
Evaluation K  - technologiesEvaluation K  - technologies
Evaluation K - technologiesRyan Tarran
 
Evaluation: Question 6
Evaluation: Question 6Evaluation: Question 6
Evaluation: Question 6lozsheriston
 
Billboard poster evaluation question
Billboard poster evaluation questionBillboard poster evaluation question
Billboard poster evaluation questionbdr628
 

Similaire à Experiments in Linked Data (20)

New technologies
New technologiesNew technologies
New technologies
 
New technologies
New technologiesNew technologies
New technologies
 
There is an App for...Vanity URLs
There is an App for...Vanity URLsThere is an App for...Vanity URLs
There is an App for...Vanity URLs
 
Mconf14 aperto vanity url-app
Mconf14 aperto vanity url-appMconf14 aperto vanity url-app
Mconf14 aperto vanity url-app
 
Developer connect - microservices
Developer connect - microservicesDeveloper connect - microservices
Developer connect - microservices
 
Week4 : Wireframes and Sketching
Week4 : Wireframes and SketchingWeek4 : Wireframes and Sketching
Week4 : Wireframes and Sketching
 
Q6. Technologies
Q6. TechnologiesQ6. Technologies
Q6. Technologies
 
Jeannine boone4_11portfolio
Jeannine boone4_11portfolioJeannine boone4_11portfolio
Jeannine boone4_11portfolio
 
3d Interactive presentation software
3d Interactive presentation software3d Interactive presentation software
3d Interactive presentation software
 
Question 6
Question 6Question 6
Question 6
 
Evaluation K - technologies
Evaluation K  - technologiesEvaluation K  - technologies
Evaluation K - technologies
 
Evaluation six
Evaluation sixEvaluation six
Evaluation six
 
Evaluation six
Evaluation sixEvaluation six
Evaluation six
 
Evaluation question 4
Evaluation question 4Evaluation question 4
Evaluation question 4
 
Evaluation: Question 6
Evaluation: Question 6Evaluation: Question 6
Evaluation: Question 6
 
Q6
Q6Q6
Q6
 
Question 6
Question 6Question 6
Question 6
 
Question Four
Question FourQuestion Four
Question Four
 
Billboard poster evaluation question
Billboard poster evaluation questionBillboard poster evaluation question
Billboard poster evaluation question
 
Q4daft
Q4daftQ4daft
Q4daft
 

Plus de Lars Marius Garshol

JSLT: JSON querying and transformation
JSLT: JSON querying and transformationJSLT: JSON querying and transformation
JSLT: JSON querying and transformationLars Marius Garshol
 
Data collection in AWS at Schibsted
Data collection in AWS at SchibstedData collection in AWS at Schibsted
Data collection in AWS at SchibstedLars Marius Garshol
 
NoSQL and Einstein's theory of relativity
NoSQL and Einstein's theory of relativityNoSQL and Einstein's theory of relativity
NoSQL and Einstein's theory of relativityLars Marius Garshol
 
Linked Open Data for the Cultural Sector
Linked Open Data for the Cultural SectorLinked Open Data for the Cultural Sector
Linked Open Data for the Cultural SectorLars Marius Garshol
 
NoSQL databases, the CAP theorem, and the theory of relativity
NoSQL databases, the CAP theorem, and the theory of relativityNoSQL databases, the CAP theorem, and the theory of relativity
NoSQL databases, the CAP theorem, and the theory of relativityLars Marius Garshol
 
Introduction to Big Data/Machine Learning
Introduction to Big Data/Machine LearningIntroduction to Big Data/Machine Learning
Introduction to Big Data/Machine LearningLars Marius Garshol
 
Experiments in genetic programming
Experiments in genetic programmingExperiments in genetic programming
Experiments in genetic programmingLars Marius Garshol
 

Plus de Lars Marius Garshol (20)

JSLT: JSON querying and transformation
JSLT: JSON querying and transformationJSLT: JSON querying and transformation
JSLT: JSON querying and transformation
 
Data collection in AWS at Schibsted
Data collection in AWS at SchibstedData collection in AWS at Schibsted
Data collection in AWS at Schibsted
 
Kveik - what is it?
Kveik - what is it?Kveik - what is it?
Kveik - what is it?
 
Nature-inspired algorithms
Nature-inspired algorithmsNature-inspired algorithms
Nature-inspired algorithms
 
Collecting 600M events/day
Collecting 600M events/dayCollecting 600M events/day
Collecting 600M events/day
 
History of writing
History of writingHistory of writing
History of writing
 
NoSQL and Einstein's theory of relativity
NoSQL and Einstein's theory of relativityNoSQL and Einstein's theory of relativity
NoSQL and Einstein's theory of relativity
 
Norwegian farmhouse ale
Norwegian farmhouse aleNorwegian farmhouse ale
Norwegian farmhouse ale
 
Archive integration with RDF
Archive integration with RDFArchive integration with RDF
Archive integration with RDF
 
The Euro crisis in 10 minutes
The Euro crisis in 10 minutesThe Euro crisis in 10 minutes
The Euro crisis in 10 minutes
 
Linked Open Data for the Cultural Sector
Linked Open Data for the Cultural SectorLinked Open Data for the Cultural Sector
Linked Open Data for the Cultural Sector
 
NoSQL databases, the CAP theorem, and the theory of relativity
NoSQL databases, the CAP theorem, and the theory of relativityNoSQL databases, the CAP theorem, and the theory of relativity
NoSQL databases, the CAP theorem, and the theory of relativity
 
Bitcoin - digital gold
Bitcoin - digital goldBitcoin - digital gold
Bitcoin - digital gold
 
Introduction to Big Data/Machine Learning
Introduction to Big Data/Machine LearningIntroduction to Big Data/Machine Learning
Introduction to Big Data/Machine Learning
 
Hops - the green gold
Hops - the green goldHops - the green gold
Hops - the green gold
 
Big data 101
Big data 101Big data 101
Big data 101
 
Linked Open Data
Linked Open DataLinked Open Data
Linked Open Data
 
Approximate string comparators
Approximate string comparatorsApproximate string comparators
Approximate string comparators
 
Experiments in genetic programming
Experiments in genetic programmingExperiments in genetic programming
Experiments in genetic programming
 
Semantisk integrasjon
Semantisk integrasjonSemantisk integrasjon
Semantisk integrasjon
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 

Dernier (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 

Experiments in Linked Data

  • 1. Experiments in linked data Lars Marius Garshol, <larsga@bouvet.no> Topic Maps 2010, Oslo, 2010-04-15 http://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.net the 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
  • 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 Category Person Photo Event Location http://www.garshol.priv.no/tmphoto/ A topic map to organize my personal photos contains ~15,000 photos A web gallery runs on Ontopia on www.garshol.priv.no
  • 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 http://www.garshol.priv.no/tmtools/ Organization An index of Topic Maps tools organized as shown on the right Again, web application for browsing screenshots below Person Software product Platform Category Technology
  • 12. The person page Boring! No content.
  • 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 Hmmm. Scores, categories, people in photo, ... Do you have a photo of http://psi.ontopedia.net/Benjamin_Bock ? http://www.garshol.priv.no/tmphoto/get-illustration?identifier=http://psi.on.... tmphoto tmtools Topic map fragment
  • 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 tmphoto get-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 Do you have pages about http://psi.ontopedia.net/TMRA_2008 ? http://www.garshol.priv.no/blog/get-topic-page?identifier=http://psi.on.... Blog tmphoto Topic map fragment Topics linking to individual blog posts
  • 26. Overview tmtools tmphoto get-illustration get-topic-page blog
  • 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... What a mess! tmcase1 tmtools tmphoto ontopia.net blog get-topic-page get-illustration
  • 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
  • 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 http://api.subj3ct.com/ subjects get-topic-page Subj3ct Wrapper service Client
  • 34. So we can add Subj3ct... Client app #2 Client app #1 Client app #3 Hub service blog tmcase1 tmtools tmphoto ontopia.net Subj3ct
  • 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...