SlideShare a Scribd company logo
1 of 26
Introduction to the
Linked Data Platform (LDP)
Hector Correa
hjc14@psu.edu
The Pennsylvania State University
Agenda
• What is the Linked Data Platform (LDP)
• Basic definitions of concepts and rules
• Examples
• Why this is important
• Q&A
Related Sessions
• Linked data, URIs, and labels by Trey Terrel
• Introducing Hydra-works: PCDM in Hydra by
Lynette Rayle
Linked Data
First introduced by Tim Berners-Lee in 2006
“The Semantic Web isn't just about putting data on the
web. It is about making links, so that a person or machine
can explore the web of data”
– Identify things with valid URLs
– Use standards for representation
– Include other URLs in your data
See http://www.w3.org/DesignIssues/LinkedData.html
https://en.wikipedia.org/wiki/Abraham_Lincoln
Birth place
Abraham_Lincoln label "Abraham Lincoln” .
Abraham_Lincoln birthDate "1809-02-12” .
Abraham_Lincoln profession "Lawyer” .
[. . .]
Abraham_Lincoln birthPlace Hodgenville,_Kentucky .
http://dbpedia.org/data/Abraham_Lincoln.n3
Linked Data
http://dbpedia.org/resource/Abraham_Lincoln
http://dbpedia.org/resource/Hodgenville,_Kentucky
RDF 101
• Resource Description Framework
http://www.w3.org/TR/rdf-primer/
• Data expressed in triples
<subject> <predicate> <object>
• For example
<hydraconnect> <location> “Minneapolis”
<hydraconnect> <date> “2015-09-22”
From read-only to read-write
• How are we supposed to update Linked Data
• Intuitively
– use HTTP GET/POST
– Resource Description Framework (RDF)
• …but what are the mechanics, the rules, how
do we deal with containership
Linked Data Platform (LDP)
“defines a set of rules for HTTP
operations on web resources, some
based on RDF, to provide an
architecture for read-write Linked
Data on the web” http://www.w3.org/TR/ldp/
W3C Recommendation as of Feb/2015
Linked Data Platform (LDP)
is an HTTP API for
read-write Linked Data
API stands for Application Programming Interface.
An API defines the rules to communicate with a program.
LDP Client LDP Server
HTTP GET
Response (RDF or Non-RDF)
HTTP POST (RDF or Non-RDF)
Response
Basic HTTP workflow
http://www.w3.org/TR/ldp/
• Everything is a Resource
• RDF Sources: expressed in Resource
Description Framework (triples)
• Non-RDF Sources: everything else
(web pages, PDFs,
image/audio/video files, binaries, et
cetera)
Concepts
Resource
RDF Source
Non-RDF
Source
HTTP request
POST localhost/
Slug: hydraconnect2015
<> dcterms:title “Hydra Connect 2015”.
<> dcterms:subject “Hydra conference in Minneapolis”.
HTTP response
HTTP/1.1 201 Created
Location: http://localhost/hydraconnect2015/
HTTP POST to create a
new RDF Source
(hydraconnect2015)
Triples for the
new resource
Yup, created…
…and here is the URL of
the new resource
Create a New RDF Source
Client makes HTTP request
GET localhost/hydraconnect2015
Server returns HTTP response
HTTP/1.1 200 OK
Content-Type: text/turtle
Link: <http://www.w3.org/ns/ldp#BasicContainer>; rel="type”,
<http://www.w3.org/ns/ldp#Resource>; rel="type”
<localhost/hydraconnect2015/> a ldp:BasicContainer ;
dc:title “Hydra Connect 2015” ;
dc:subject ““Hydra conference in Minneapolis” .
HTTP GET request
HTTPBody
RDF source that
is a container
Fetch an Existing RDF Source
HTTPHeaders
HTTP request
POST localhost/
Slug: logo.jpg
Content-Type: image/jpeg
Content- Length: 1020
[binary of the image goes here]
HTTP response
HTTP/1.1 201 Created
Location: http://localhost/logo.jpg
HTTP POST to create
a new Non-RDF Source
Binary data
…and here is the URL of
the new resource
Create a New Non-RDF Source
Concepts (expanded)
http://www.w3.org/TR/ldp/
Resource
RDF Source
Non-RDF
Source
Basic
Container
Direct
Container
Indirect
Container
Container
HTTP request
POST localhost/hydraconnect2015/
Slug: session1
<> dcterms:title “Welcome to Hydra Connect 2015”.
<> dcterms:subject “blah blah”.
HTTP response
HTTP/1.1 201 Created
Location: http://localhost/hydraconnect2015/session1
POST to Basic Container
Adding an RDF Source to a Basic Container (1/2)
HTTP request
GET localhost/hydraconnect2015/ HTTP/1.1
HTTP response
[the usual HTTP headers go here]
<localhost/hydraconnect2015/> a ldp:BasicContainer ;
dc:title “Hydra Connect 2015” ;
dc:subject ““Hydra conference in Minneapolis” ;
ldp:contains <localhost/hydraconnect2015/session1> .
Fetch the Basic Container
New triple automatically
added by the LDP Server
Adding an RDF Source to a Basic Container (2/2)
hydraconnect2015
session1
ldp:contains Welcome to Hydra Connect
Hi Everybody
Minneapolis
September/2015
Basic Container
Direct Container
Added by LDP Client
Added by LDP Server
dc:title
dc:title
dc:subject
dc:subject
Legend
Show me the Graph
HTTP request
POST localhost/ HTTP/1.1
Slug: speakers
<> dcterms:title “People that speakers at conferences”.
<> rdf:DirectContainer .
<> ldp:membershipResource <localhost/hydraconnect2015> .
<> ldp:hasMemberRelation hasSpeaker .
HTTP request
POST localhost/speakers HTTP/1.1
Slug: janedev
<> dcterms:title “Jane Developer”.
Containership
Direct Containers (1/2)
Create Direct Container
Add new resource to it
Direct Container (2/2)
HTTP request
GET localhost/hydraconnect2015
HTTP response
[bunch of HTTP headers go here]
<localhost/hydraconnect2015/> a ldp:BasicContainer ;
dc:title “Hydra Connect 2015” ;
dc:subject ““Hydra conference in Minneapolis” ;
ldp:contains <localhost/hydraconnect2015/session1> ;
hasSpeaker <localhost/speakers/janedev> .
The membershipResource…
…pointing to the new
resource
…has new triple with
hasMemberRelation
predicate
hydraconnect2015
session1
speakers
janedev
ldp:contains
hasSpeaker
ldp:contains
ldp:membershipRelation
Welcome to Hydra Connect
Hi Everybody
Jane Developer
Minneapolis
September/2015
Basic Container
Direct Container
Added by LDP Client
Added by LDP Server
People that speak
at conferences
dc:title
dc:title
dc:title
dc:subject
dc:subject
Legend
Show me the Graph
hasSpeaker
ldp:hasMemberRelation
dc:title
Containers
• “Containers are at the heart of LDP” –
Robert Sanderson
• Indirect Container you can link to a totally different
resource than the one added
• Direct and Indirect Containers you can revert the
relationship (hasMemberRelation vs isMemberOfRelation)
• Shameless plug: LDP Containers for the Perplexed
http://tinyurl.com/ldp-containers
• Read the W3C LDP Recommendation
http://www.w3.org/TR/ldp/
Updates
• Updates have not been standardized :(
• The Linked Data Platform Working Group is currently favoring LD
Patch but still is deciding.
• Other candidates include SPARQL 1.1, SparqlPatch, TurtlePatch, and
RDF Patch
• As of July/2015, Linked Data Patch Format (LD Patch) is a note, not a
recommendation
• LD Patch http://www.w3.org/TR/2015/NOTE-ldpatch-20150728/
Why is LDP important to Hydra?
• Fedora 4 is an LDP Server*
• The Hydra Stack (i.e. your app) is an LDP Client
– gems: LDP, ActiveTriples, ActiveFedora
* Some restrictions apply
Thanks!
Slides and notes available
athttp://hectorcorrea.com/introduction-to-ldp

More Related Content

What's hot

Scaling up Linked Data
Scaling up Linked DataScaling up Linked Data
Scaling up Linked DataEUCLID project
 
Application integration with the W3C Linked Data standards
Application integration with the W3C Linked Data standardsApplication integration with the W3C Linked Data standards
Application integration with the W3C Linked Data standardsNandana Mihindukulasooriya
 
30° Nexa Lunch Seminar - Linked Data Platform vs real world
30° Nexa Lunch Seminar - Linked Data Platform vs real world30° Nexa Lunch Seminar - Linked Data Platform vs real world
30° Nexa Lunch Seminar - Linked Data Platform vs real worldDiego Valerio Camarda
 
Approaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
Approaching Join Index: Presented by Mikhail Khludnev, Grid DynamicsApproaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
Approaching Join Index: Presented by Mikhail Khludnev, Grid DynamicsLucidworks
 
Microtask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked DataMicrotask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked DataEUCLID project
 
Illuminating DSpace's Linked Data Support
Illuminating DSpace's Linked Data SupportIlluminating DSpace's Linked Data Support
Illuminating DSpace's Linked Data SupportPascal-Nicolas Becker
 
Open for Business - Open Archives, OpenURL, RSS and the Dublin Core
Open for Business - Open Archives, OpenURL, RSS and the Dublin CoreOpen for Business - Open Archives, OpenURL, RSS and the Dublin Core
Open for Business - Open Archives, OpenURL, RSS and the Dublin CoreAndy Powell
 
Open for Business Open Archives, OpenURL, RSS and the Dublin Core
Open for Business  Open Archives, OpenURL, RSS and the Dublin CoreOpen for Business  Open Archives, OpenURL, RSS and the Dublin Core
Open for Business Open Archives, OpenURL, RSS and the Dublin CoreAndy Powell
 
Inverted textindexing
Inverted textindexingInverted textindexing
Inverted textindexingKhwaja Aamer
 
Slug: A Semantic Web Crawler
Slug: A Semantic Web CrawlerSlug: A Semantic Web Crawler
Slug: A Semantic Web CrawlerLeigh Dodds
 
Approaching Join Index - Lucene/Solr Revolution 2014
Approaching Join Index - Lucene/Solr Revolution 2014Approaching Join Index - Lucene/Solr Revolution 2014
Approaching Join Index - Lucene/Solr Revolution 2014Grid Dynamics
 
SWIB14 Weaving repository contents into the Semantic Web
SWIB14 Weaving repository contents into the Semantic WebSWIB14 Weaving repository contents into the Semantic Web
SWIB14 Weaving repository contents into the Semantic WebPascal-Nicolas Becker
 
Grouping and Joining in Lucene/Solr
Grouping and Joining in Lucene/SolrGrouping and Joining in Lucene/Solr
Grouping and Joining in Lucene/Solrlucenerevolution
 
(PROJEKTURA) Big Data Open Data story for TGG
(PROJEKTURA) Big Data Open Data story for TGG(PROJEKTURA) Big Data Open Data story for TGG
(PROJEKTURA) Big Data Open Data story for TGGRatko Mutavdzic
 
The state of the art in Linked Data
The state of the art in Linked DataThe state of the art in Linked Data
The state of the art in Linked DataJoshua Shinavier
 
3.7.17 DSpace for Data: issues, solutions and challenges Webinar Slides
3.7.17 DSpace for Data: issues, solutions and challenges Webinar Slides3.7.17 DSpace for Data: issues, solutions and challenges Webinar Slides
3.7.17 DSpace for Data: issues, solutions and challenges Webinar SlidesDuraSpace
 
Mikhail khludnev: approaching-join index for lucene
Mikhail khludnev:  approaching-join index for luceneMikhail khludnev:  approaching-join index for lucene
Mikhail khludnev: approaching-join index for luceneGrid Dynamics
 

What's hot (20)

Scaling up Linked Data
Scaling up Linked DataScaling up Linked Data
Scaling up Linked Data
 
Application integration with the W3C Linked Data standards
Application integration with the W3C Linked Data standardsApplication integration with the W3C Linked Data standards
Application integration with the W3C Linked Data standards
 
30° Nexa Lunch Seminar - Linked Data Platform vs real world
30° Nexa Lunch Seminar - Linked Data Platform vs real world30° Nexa Lunch Seminar - Linked Data Platform vs real world
30° Nexa Lunch Seminar - Linked Data Platform vs real world
 
Approaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
Approaching Join Index: Presented by Mikhail Khludnev, Grid DynamicsApproaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
Approaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
 
Microtask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked DataMicrotask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked Data
 
Illuminating DSpace's Linked Data Support
Illuminating DSpace's Linked Data SupportIlluminating DSpace's Linked Data Support
Illuminating DSpace's Linked Data Support
 
Technical Background
Technical BackgroundTechnical Background
Technical Background
 
Open for Business - Open Archives, OpenURL, RSS and the Dublin Core
Open for Business - Open Archives, OpenURL, RSS and the Dublin CoreOpen for Business - Open Archives, OpenURL, RSS and the Dublin Core
Open for Business - Open Archives, OpenURL, RSS and the Dublin Core
 
Open for Business Open Archives, OpenURL, RSS and the Dublin Core
Open for Business  Open Archives, OpenURL, RSS and the Dublin CoreOpen for Business  Open Archives, OpenURL, RSS and the Dublin Core
Open for Business Open Archives, OpenURL, RSS and the Dublin Core
 
Inverted textindexing
Inverted textindexingInverted textindexing
Inverted textindexing
 
Odata
OdataOdata
Odata
 
Slug: A Semantic Web Crawler
Slug: A Semantic Web CrawlerSlug: A Semantic Web Crawler
Slug: A Semantic Web Crawler
 
Approaching Join Index - Lucene/Solr Revolution 2014
Approaching Join Index - Lucene/Solr Revolution 2014Approaching Join Index - Lucene/Solr Revolution 2014
Approaching Join Index - Lucene/Solr Revolution 2014
 
SWIB14 Weaving repository contents into the Semantic Web
SWIB14 Weaving repository contents into the Semantic WebSWIB14 Weaving repository contents into the Semantic Web
SWIB14 Weaving repository contents into the Semantic Web
 
Grouping and Joining in Lucene/Solr
Grouping and Joining in Lucene/SolrGrouping and Joining in Lucene/Solr
Grouping and Joining in Lucene/Solr
 
(PROJEKTURA) Big Data Open Data story for TGG
(PROJEKTURA) Big Data Open Data story for TGG(PROJEKTURA) Big Data Open Data story for TGG
(PROJEKTURA) Big Data Open Data story for TGG
 
Linked data and voyager
Linked data and voyagerLinked data and voyager
Linked data and voyager
 
The state of the art in Linked Data
The state of the art in Linked DataThe state of the art in Linked Data
The state of the art in Linked Data
 
3.7.17 DSpace for Data: issues, solutions and challenges Webinar Slides
3.7.17 DSpace for Data: issues, solutions and challenges Webinar Slides3.7.17 DSpace for Data: issues, solutions and challenges Webinar Slides
3.7.17 DSpace for Data: issues, solutions and challenges Webinar Slides
 
Mikhail khludnev: approaching-join index for lucene
Mikhail khludnev:  approaching-join index for luceneMikhail khludnev:  approaching-join index for lucene
Mikhail khludnev: approaching-join index for lucene
 

Viewers also liked

Testing JavaScript with Jasmine in Rails Applications
Testing JavaScript with Jasmine in Rails Applications Testing JavaScript with Jasmine in Rails Applications
Testing JavaScript with Jasmine in Rails Applications Hector Correa
 
(Enterprise) Linked Data Platform a new standard to manage LOD
(Enterprise) Linked Data Platform a new standard to manage LOD(Enterprise) Linked Data Platform a new standard to manage LOD
(Enterprise) Linked Data Platform a new standard to manage LODDiego Valerio Camarda
 
Linked Media and Data Using Apache Marmotta
Linked Media and Data Using Apache MarmottaLinked Media and Data Using Apache Marmotta
Linked Media and Data Using Apache MarmottaSebastian Schaffert
 
Linked Data Platform as a novel approach for Enterprise Application Integra...
Linked Data Platform as a novel approach for Enterprise Application Integra...Linked Data Platform as a novel approach for Enterprise Application Integra...
Linked Data Platform as a novel approach for Enterprise Application Integra...Nandana Mihindukulasooriya
 
Semantic Media Management with Apache Marmotta
Semantic Media Management with Apache MarmottaSemantic Media Management with Apache Marmotta
Semantic Media Management with Apache MarmottaThomas Kurz
 
Geospatial Querying in Apache Marmotta - Apache Big Data North America 2016
Geospatial Querying in Apache Marmotta -  Apache Big Data North America 2016Geospatial Querying in Apache Marmotta -  Apache Big Data North America 2016
Geospatial Querying in Apache Marmotta - Apache Big Data North America 2016Sergio Fernández
 
Introduction to LDP in Apache Marmotta
Introduction to LDP in Apache MarmottaIntroduction to LDP in Apache Marmotta
Introduction to LDP in Apache MarmottaSergio Fernández
 
LDP Presentation
LDP PresentationLDP Presentation
LDP Presentationhayelikahn
 
Why do they call it Linked Data when they want to say...?
Why do they call it Linked Data when they want to say...?Why do they call it Linked Data when they want to say...?
Why do they call it Linked Data when they want to say...?Oscar Corcho
 

Viewers also liked (11)

Testing JavaScript with Jasmine in Rails Applications
Testing JavaScript with Jasmine in Rails Applications Testing JavaScript with Jasmine in Rails Applications
Testing JavaScript with Jasmine in Rails Applications
 
(Enterprise) Linked Data Platform a new standard to manage LOD
(Enterprise) Linked Data Platform a new standard to manage LOD(Enterprise) Linked Data Platform a new standard to manage LOD
(Enterprise) Linked Data Platform a new standard to manage LOD
 
Apache marmotta
Apache marmottaApache marmotta
Apache marmotta
 
Linked Media and Data Using Apache Marmotta
Linked Media and Data Using Apache MarmottaLinked Media and Data Using Apache Marmotta
Linked Media and Data Using Apache Marmotta
 
Linked Data Platform as a novel approach for Enterprise Application Integra...
Linked Data Platform as a novel approach for Enterprise Application Integra...Linked Data Platform as a novel approach for Enterprise Application Integra...
Linked Data Platform as a novel approach for Enterprise Application Integra...
 
Semantic Media Management with Apache Marmotta
Semantic Media Management with Apache MarmottaSemantic Media Management with Apache Marmotta
Semantic Media Management with Apache Marmotta
 
Geospatial Querying in Apache Marmotta - Apache Big Data North America 2016
Geospatial Querying in Apache Marmotta -  Apache Big Data North America 2016Geospatial Querying in Apache Marmotta -  Apache Big Data North America 2016
Geospatial Querying in Apache Marmotta - Apache Big Data North America 2016
 
Introduction to LDP in Apache Marmotta
Introduction to LDP in Apache MarmottaIntroduction to LDP in Apache Marmotta
Introduction to LDP in Apache Marmotta
 
LDP Presentation
LDP PresentationLDP Presentation
LDP Presentation
 
Apache Marmotta - Introduction
Apache Marmotta - IntroductionApache Marmotta - Introduction
Apache Marmotta - Introduction
 
Why do they call it Linked Data when they want to say...?
Why do they call it Linked Data when they want to say...?Why do they call it Linked Data when they want to say...?
Why do they call it Linked Data when they want to say...?
 

Similar to Introduction to Linked Data Platform (LDP)

Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...
Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...
Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...Benjamin Adrian
 
Lifting the Lid on Linked Data
Lifting the Lid on Linked DataLifting the Lid on Linked Data
Lifting the Lid on Linked DataJane Stevenson
 
Linked data demystified:Practical efforts to transform CONTENTDM metadata int...
Linked data demystified:Practical efforts to transform CONTENTDM metadata int...Linked data demystified:Practical efforts to transform CONTENTDM metadata int...
Linked data demystified:Practical efforts to transform CONTENTDM metadata int...Cory Lampert
 
Culture Geeks Feb talk: Adventures in Linked Data Land
Culture Geeks Feb talk: Adventures in Linked Data LandCulture Geeks Feb talk: Adventures in Linked Data Land
Culture Geeks Feb talk: Adventures in Linked Data Landval.cartei
 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data TutorialSören Auer
 
Linking Media and Data using Apache Marmotta (LIME workshop keynote)
Linking Media and Data using Apache Marmotta  (LIME workshop keynote)Linking Media and Data using Apache Marmotta  (LIME workshop keynote)
Linking Media and Data using Apache Marmotta (LIME workshop keynote)LinkedTV
 
application of http.pptx
application of http.pptxapplication of http.pptx
application of http.pptxssuseraf60311
 
Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011 Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011 Jane Stevenson
 
The Web of data and web data commons
The Web of data and web data commonsThe Web of data and web data commons
The Web of data and web data commonsJesse Wang
 
Together Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with HypermediaTogether Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with HypermediaVladimir Tsukur
 

Similar to Introduction to Linked Data Platform (LDP) (20)

Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...
Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...
Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...
 
Webofdata
WebofdataWebofdata
Webofdata
 
Lifting the Lid on Linked Data
Lifting the Lid on Linked DataLifting the Lid on Linked Data
Lifting the Lid on Linked Data
 
Linked Data
Linked DataLinked Data
Linked Data
 
Linked data demystified:Practical efforts to transform CONTENTDM metadata int...
Linked data demystified:Practical efforts to transform CONTENTDM metadata int...Linked data demystified:Practical efforts to transform CONTENTDM metadata int...
Linked data demystified:Practical efforts to transform CONTENTDM metadata int...
 
Linked Data
Linked DataLinked Data
Linked Data
 
Engineering a Semantic Web (Spring 2018)
Engineering a Semantic Web (Spring 2018)Engineering a Semantic Web (Spring 2018)
Engineering a Semantic Web (Spring 2018)
 
Culture Geeks Feb talk: Adventures in Linked Data Land
Culture Geeks Feb talk: Adventures in Linked Data LandCulture Geeks Feb talk: Adventures in Linked Data Land
Culture Geeks Feb talk: Adventures in Linked Data Land
 
Quick Introduction to the Semantic Web, RDFa & Microformats
Quick Introduction to the Semantic Web, RDFa & MicroformatsQuick Introduction to the Semantic Web, RDFa & Microformats
Quick Introduction to the Semantic Web, RDFa & Microformats
 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
 
Linking Media and Data using Apache Marmotta (LIME workshop keynote)
Linking Media and Data using Apache Marmotta  (LIME workshop keynote)Linking Media and Data using Apache Marmotta  (LIME workshop keynote)
Linking Media and Data using Apache Marmotta (LIME workshop keynote)
 
Metadata lecture 5 part 2
Metadata lecture 5 part 2Metadata lecture 5 part 2
Metadata lecture 5 part 2
 
Unit 02: Web Technologies (1/2)
Unit 02: Web Technologies (1/2)Unit 02: Web Technologies (1/2)
Unit 02: Web Technologies (1/2)
 
application of http.pptx
application of http.pptxapplication of http.pptx
application of http.pptx
 
Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011 Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011
 
Pcpt1
Pcpt1Pcpt1
Pcpt1
 
NISO/NFAIS Joint Virtual Conference: Connecting the Library to the Wider Worl...
NISO/NFAIS Joint Virtual Conference: Connecting the Library to the Wider Worl...NISO/NFAIS Joint Virtual Conference: Connecting the Library to the Wider Worl...
NISO/NFAIS Joint Virtual Conference: Connecting the Library to the Wider Worl...
 
The Web of data and web data commons
The Web of data and web data commonsThe Web of data and web data commons
The Web of data and web data commons
 
Tutorial Linked APIs
Tutorial Linked APIsTutorial Linked APIs
Tutorial Linked APIs
 
Together Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with HypermediaTogether Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with Hypermedia
 

Recently uploaded

why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 

Recently uploaded (20)

why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 

Introduction to Linked Data Platform (LDP)

  • 1. Introduction to the Linked Data Platform (LDP) Hector Correa hjc14@psu.edu The Pennsylvania State University
  • 2. Agenda • What is the Linked Data Platform (LDP) • Basic definitions of concepts and rules • Examples • Why this is important • Q&A
  • 3. Related Sessions • Linked data, URIs, and labels by Trey Terrel • Introducing Hydra-works: PCDM in Hydra by Lynette Rayle
  • 4. Linked Data First introduced by Tim Berners-Lee in 2006 “The Semantic Web isn't just about putting data on the web. It is about making links, so that a person or machine can explore the web of data” – Identify things with valid URLs – Use standards for representation – Include other URLs in your data See http://www.w3.org/DesignIssues/LinkedData.html
  • 6. Abraham_Lincoln label "Abraham Lincoln” . Abraham_Lincoln birthDate "1809-02-12” . Abraham_Lincoln profession "Lawyer” . [. . .] Abraham_Lincoln birthPlace Hodgenville,_Kentucky . http://dbpedia.org/data/Abraham_Lincoln.n3 Linked Data http://dbpedia.org/resource/Abraham_Lincoln http://dbpedia.org/resource/Hodgenville,_Kentucky
  • 7. RDF 101 • Resource Description Framework http://www.w3.org/TR/rdf-primer/ • Data expressed in triples <subject> <predicate> <object> • For example <hydraconnect> <location> “Minneapolis” <hydraconnect> <date> “2015-09-22”
  • 8. From read-only to read-write • How are we supposed to update Linked Data • Intuitively – use HTTP GET/POST – Resource Description Framework (RDF) • …but what are the mechanics, the rules, how do we deal with containership
  • 9. Linked Data Platform (LDP) “defines a set of rules for HTTP operations on web resources, some based on RDF, to provide an architecture for read-write Linked Data on the web” http://www.w3.org/TR/ldp/ W3C Recommendation as of Feb/2015
  • 10. Linked Data Platform (LDP) is an HTTP API for read-write Linked Data API stands for Application Programming Interface. An API defines the rules to communicate with a program.
  • 11. LDP Client LDP Server HTTP GET Response (RDF or Non-RDF) HTTP POST (RDF or Non-RDF) Response Basic HTTP workflow
  • 12. http://www.w3.org/TR/ldp/ • Everything is a Resource • RDF Sources: expressed in Resource Description Framework (triples) • Non-RDF Sources: everything else (web pages, PDFs, image/audio/video files, binaries, et cetera) Concepts Resource RDF Source Non-RDF Source
  • 13. HTTP request POST localhost/ Slug: hydraconnect2015 <> dcterms:title “Hydra Connect 2015”. <> dcterms:subject “Hydra conference in Minneapolis”. HTTP response HTTP/1.1 201 Created Location: http://localhost/hydraconnect2015/ HTTP POST to create a new RDF Source (hydraconnect2015) Triples for the new resource Yup, created… …and here is the URL of the new resource Create a New RDF Source
  • 14. Client makes HTTP request GET localhost/hydraconnect2015 Server returns HTTP response HTTP/1.1 200 OK Content-Type: text/turtle Link: <http://www.w3.org/ns/ldp#BasicContainer>; rel="type”, <http://www.w3.org/ns/ldp#Resource>; rel="type” <localhost/hydraconnect2015/> a ldp:BasicContainer ; dc:title “Hydra Connect 2015” ; dc:subject ““Hydra conference in Minneapolis” . HTTP GET request HTTPBody RDF source that is a container Fetch an Existing RDF Source HTTPHeaders
  • 15. HTTP request POST localhost/ Slug: logo.jpg Content-Type: image/jpeg Content- Length: 1020 [binary of the image goes here] HTTP response HTTP/1.1 201 Created Location: http://localhost/logo.jpg HTTP POST to create a new Non-RDF Source Binary data …and here is the URL of the new resource Create a New Non-RDF Source
  • 17. HTTP request POST localhost/hydraconnect2015/ Slug: session1 <> dcterms:title “Welcome to Hydra Connect 2015”. <> dcterms:subject “blah blah”. HTTP response HTTP/1.1 201 Created Location: http://localhost/hydraconnect2015/session1 POST to Basic Container Adding an RDF Source to a Basic Container (1/2)
  • 18. HTTP request GET localhost/hydraconnect2015/ HTTP/1.1 HTTP response [the usual HTTP headers go here] <localhost/hydraconnect2015/> a ldp:BasicContainer ; dc:title “Hydra Connect 2015” ; dc:subject ““Hydra conference in Minneapolis” ; ldp:contains <localhost/hydraconnect2015/session1> . Fetch the Basic Container New triple automatically added by the LDP Server Adding an RDF Source to a Basic Container (2/2)
  • 19. hydraconnect2015 session1 ldp:contains Welcome to Hydra Connect Hi Everybody Minneapolis September/2015 Basic Container Direct Container Added by LDP Client Added by LDP Server dc:title dc:title dc:subject dc:subject Legend Show me the Graph
  • 20. HTTP request POST localhost/ HTTP/1.1 Slug: speakers <> dcterms:title “People that speakers at conferences”. <> rdf:DirectContainer . <> ldp:membershipResource <localhost/hydraconnect2015> . <> ldp:hasMemberRelation hasSpeaker . HTTP request POST localhost/speakers HTTP/1.1 Slug: janedev <> dcterms:title “Jane Developer”. Containership Direct Containers (1/2) Create Direct Container Add new resource to it
  • 21. Direct Container (2/2) HTTP request GET localhost/hydraconnect2015 HTTP response [bunch of HTTP headers go here] <localhost/hydraconnect2015/> a ldp:BasicContainer ; dc:title “Hydra Connect 2015” ; dc:subject ““Hydra conference in Minneapolis” ; ldp:contains <localhost/hydraconnect2015/session1> ; hasSpeaker <localhost/speakers/janedev> . The membershipResource… …pointing to the new resource …has new triple with hasMemberRelation predicate
  • 22. hydraconnect2015 session1 speakers janedev ldp:contains hasSpeaker ldp:contains ldp:membershipRelation Welcome to Hydra Connect Hi Everybody Jane Developer Minneapolis September/2015 Basic Container Direct Container Added by LDP Client Added by LDP Server People that speak at conferences dc:title dc:title dc:title dc:subject dc:subject Legend Show me the Graph hasSpeaker ldp:hasMemberRelation dc:title
  • 23. Containers • “Containers are at the heart of LDP” – Robert Sanderson • Indirect Container you can link to a totally different resource than the one added • Direct and Indirect Containers you can revert the relationship (hasMemberRelation vs isMemberOfRelation) • Shameless plug: LDP Containers for the Perplexed http://tinyurl.com/ldp-containers • Read the W3C LDP Recommendation http://www.w3.org/TR/ldp/
  • 24. Updates • Updates have not been standardized :( • The Linked Data Platform Working Group is currently favoring LD Patch but still is deciding. • Other candidates include SPARQL 1.1, SparqlPatch, TurtlePatch, and RDF Patch • As of July/2015, Linked Data Patch Format (LD Patch) is a note, not a recommendation • LD Patch http://www.w3.org/TR/2015/NOTE-ldpatch-20150728/
  • 25. Why is LDP important to Hydra? • Fedora 4 is an LDP Server* • The Hydra Stack (i.e. your app) is an LDP Client – gems: LDP, ActiveTriples, ActiveFedora * Some restrictions apply
  • 26. Thanks! Slides and notes available athttp://hectorcorrea.com/introduction-to-ldp