SlideShare a Scribd company logo
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
Ad

More Related Content

What's hot (20)

Scaling up Linked Data
Scaling up Linked DataScaling up Linked Data
Scaling up Linked Data
EUCLID 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 standards
Nandana 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 world
Diego 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 Dynamics
Lucidworks
 
Microtask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked DataMicrotask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked Data
EUCLID project
 
Illuminating DSpace's Linked Data Support
Illuminating DSpace's Linked Data SupportIlluminating DSpace's Linked Data Support
Illuminating DSpace's Linked Data Support
Pascal-Nicolas Becker
 
Technical Background
Technical BackgroundTechnical Background
Technical Background
Nikolaos Konstantinou
 
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
Andy 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 Core
Andy Powell
 
Inverted textindexing
Inverted textindexingInverted textindexing
Inverted textindexing
Khwaja Aamer
 
Odata
OdataOdata
Odata
Monalisa Patel
 
Slug: A Semantic Web Crawler
Slug: A Semantic Web CrawlerSlug: A Semantic Web Crawler
Slug: A Semantic Web Crawler
Leigh 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 2014
Grid 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 Web
Pascal-Nicolas Becker
 
Grouping and Joining in Lucene/Solr
Grouping and Joining in Lucene/SolrGrouping and Joining in Lucene/Solr
Grouping and Joining in Lucene/Solr
lucenerevolution
 
(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
Ratko Mutavdzic
 
Linked data and voyager
Linked data and voyagerLinked data and voyager
Linked data and voyager
Edmund Chamberlain
 
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
Joshua 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 Slides
DuraSpace
 
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
Grid Dynamics
 
Scaling up Linked Data
Scaling up Linked DataScaling up Linked Data
Scaling up Linked Data
EUCLID 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 standards
Nandana 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 world
Diego 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 Dynamics
Lucidworks
 
Microtask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked DataMicrotask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked Data
EUCLID project
 
Illuminating DSpace's Linked Data Support
Illuminating DSpace's Linked Data SupportIlluminating DSpace's Linked Data Support
Illuminating DSpace's Linked Data Support
Pascal-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 Core
Andy 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 Core
Andy Powell
 
Inverted textindexing
Inverted textindexingInverted textindexing
Inverted textindexing
Khwaja Aamer
 
Slug: A Semantic Web Crawler
Slug: A Semantic Web CrawlerSlug: A Semantic Web Crawler
Slug: A Semantic Web Crawler
Leigh 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 2014
Grid 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 Web
Pascal-Nicolas Becker
 
Grouping and Joining in Lucene/Solr
Grouping and Joining in Lucene/SolrGrouping and Joining in Lucene/Solr
Grouping and Joining in Lucene/Solr
lucenerevolution
 
(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
Ratko 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 Data
Joshua 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 Slides
DuraSpace
 
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
Grid Dynamics
 

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
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 LOD
Diego Valerio Camarda
 
Apache marmotta
Apache marmottaApache marmotta
Apache marmotta
Efren Narváez
 
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
Sebastian 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 Marmotta
Thomas 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 2016
Sergio Fernández
 
Introduction to LDP in Apache Marmotta
Introduction to LDP in Apache MarmottaIntroduction to LDP in Apache Marmotta
Introduction to LDP in Apache Marmotta
Sergio Fernández
 
LDP Presentation
LDP PresentationLDP Presentation
LDP Presentation
hayelikahn
 
Apache Marmotta - Introduction
Apache Marmotta - IntroductionApache Marmotta - Introduction
Apache Marmotta - Introduction
Sebastian Schaffert
 
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
 
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 LOD
Diego 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 Marmotta
Sebastian 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 Marmotta
Thomas 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 2016
Sergio Fernández
 
Introduction to LDP in Apache Marmotta
Introduction to LDP in Apache MarmottaIntroduction to LDP in Apache Marmotta
Introduction to LDP in Apache Marmotta
Sergio Fernández
 
LDP Presentation
LDP PresentationLDP Presentation
LDP Presentation
hayelikahn
 
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
 
Ad

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...
Benjamin Adrian
 
Webofdata
WebofdataWebofdata
Webofdata
Bill Roberts
 
Lifting the Lid on Linked Data
Lifting the Lid on Linked DataLifting the Lid on Linked Data
Lifting the Lid on Linked Data
Jane Stevenson
 
Linked Data
Linked DataLinked Data
Linked Data
Danny Ayers
 
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
 
Linked Data
Linked DataLinked Data
Linked Data
cyriacsmail
 
Engineering a Semantic Web (Spring 2018)
Engineering a Semantic Web (Spring 2018)Engineering a Semantic Web (Spring 2018)
Engineering a Semantic Web (Spring 2018)
Rensselaer Polytechnic Institute
 
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
val.cartei
 
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
University of California, San Diego
 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
Sö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
 
Metadata lecture 5 part 2
Metadata lecture 5 part 2Metadata lecture 5 part 2
Metadata lecture 5 part 2
Richard.Sapon-White
 
Unit 02: Web Technologies (1/2)
Unit 02: Web Technologies (1/2)Unit 02: Web Technologies (1/2)
Unit 02: Web Technologies (1/2)
DSBW 2011/2002 - Carles Farré - Barcelona Tech
 
application of http.pptx
application of http.pptxapplication of http.pptx
application of http.pptx
ssuseraf60311
 
Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011 Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011
Jane Stevenson
 
Pcpt1
Pcpt1Pcpt1
Pcpt1
architchaturvedi99
 
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...
National Information Standards Organization (NISO)
 
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
Jesse Wang
 
Tutorial Linked APIs
Tutorial Linked APIsTutorial Linked APIs
Tutorial Linked APIs
Steffen Stadtmüller
 
Together Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with HypermediaTogether Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with Hypermedia
Vladimir Tsukur
 
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 Data
Jane 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 Land
val.cartei
 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
Sö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.pptx
ssuseraf60311
 
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 commons
Jesse Wang
 
Together Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with HypermediaTogether Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with Hypermedia
Vladimir Tsukur
 
Ad

Recently uploaded (20)

Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Creating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdfCreating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdf
Applitools
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Foundation Models for Time Series : A Survey
Foundation Models for Time Series : A SurveyFoundation Models for Time Series : A Survey
Foundation Models for Time Series : A Survey
jayanthkalyanam1
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025
younisnoman75
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Full Cracked Resolume Arena Latest Version
Full Cracked Resolume Arena Latest VersionFull Cracked Resolume Arena Latest Version
Full Cracked Resolume Arena Latest Version
jonesmichealj2
 
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
Lionel Briand
 
Innovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at allInnovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at all
ayeshakanwal75
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Creating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdfCreating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdf
Applitools
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Foundation Models for Time Series : A Survey
Foundation Models for Time Series : A SurveyFoundation Models for Time Series : A Survey
Foundation Models for Time Series : A Survey
jayanthkalyanam1
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025
younisnoman75
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Full Cracked Resolume Arena Latest Version
Full Cracked Resolume Arena Latest VersionFull Cracked Resolume Arena Latest Version
Full Cracked Resolume Arena Latest Version
jonesmichealj2
 
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
Lionel Briand
 
Innovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at allInnovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at all
ayeshakanwal75
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 

Introduction to Linked Data Platform (LDP)

  • 1. Introduction to the Linked Data Platform (LDP) Hector Correa [email protected] 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