Download - Linked Data and REST
![Page 1: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/1.jpg)
Linked Data and RESTHow can we finally get some REST?
![Page 2: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/2.jpg)
A Journey through time and space...
![Page 3: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/3.jpg)
4.1 WWW Application Domain Requirements
● Low Entry-barrier● Extensibility● Distributed Hypermedia● Internet-scale
○ Anarchic Scalability○ Independent Deployment
![Page 4: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/4.jpg)
Low barrier to entry
![Page 5: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/5.jpg)
Extensibility
![Page 6: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/6.jpg)
Free of user-perceived latency
5ms 150ms<95ms
5ms 150ms<95ms
Cached:
TTLs kinda suck; use client-side Conditional GETs
![Page 7: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/7.jpg)
“The Web is intended to be an Internet-scale distributed hypermedia system”
○ Anarchic Scalability○ Independent Deployment
Internet Scale
LINKS
![Page 8: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/8.jpg)
4.1 WWW Application Domain RequirementsRequirements of a Web Application
Can we drive the state transitions of multiple user-agents? Is it easy to author?
Can the service evolve?
Is the UI responsive?
Is it web scale?Can we share data effortlessly and deploy the client and server independently?
![Page 9: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/9.jpg)
A true web application: HTML
Life Section
OMG Katy Perry
![Page 10: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/10.jpg)
<a href=”....”>
“Computer says no.”
<a href=”....”>
![Page 11: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/11.jpg)
Browsing Homepage
id=</>url=</>name=”USA Today”section=</news/>section=</sports/>section=</life/>section=</money/>…
id=</life/>label=”Life”type=”Section”type=”Link”
<section>
Browsing a Section
id=</life/>url=</life/>name=”Life”story=</story/5868609/>type=”Section”
id=</story/5868609/>url=</story/life/people/2014/02/27/katy-perry-helps-deliver-baby-in-living-room/5868609/>title=”Katy Perry helps deliver baby in living room”type=”Story”
id=</story/life/people/2014/02/27/katy-perry-helps-deliver-baby-in-living-room/5868609/>type=”Link”
View Source...
<story>
Reading Story
id=</story/5868609/>url=</story/life/people/2014/02/27/katy-perry-helps-deliver-baby-in-living-room/5868609/>title=”Katy Perry helps deliver baby in living room”body=”...”
id=</story/life/people/2014/02/27/katy-perry-helps-deliver-baby-in-living-room/5868609/>type=”Link”
![Page 12: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/12.jpg)
4.1 WWW Application Domain RequirementsIf these are the requirements?
Can we drive the state transitions of multiple user-agents? Is it easy to author?
Can the service evolve?
Is the UI responsive?
Is it web scale?Can we share data effortlessly and deploy the client and server independently?
![Page 13: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/13.jpg)
Browsing Homepage
id=</>url=</>name=”USA Today”section=</news/>section=</sports/>section=</life/>section=</money/>…
id=</life/>label=”Life”type=”Section”type=”Link”
<section>
Browsing a Section
id=</life/>url=</life/>name=”Life”story=</story/5868609/>type=”Section”
id=</story/5868609/>url=</story/life/people/2014/02/27/katy-perry-helps-deliver-baby-in-living-room/5868609/>title=”Katy Perry helps deliver baby in living room”type=”Story”
id=</story/life/people/2014/02/27/katy-perry-helps-deliver-baby-in-living-room/5868609/>type=”Link”
What is state?
<story>
Reading Story
id=</story/5868609/>url=</story/life/people/2014/02/27/katy-perry-helps-deliver-baby-in-living-room/5868609/>title=”Katy Perry helps deliver baby in living room”body=”...”
id=</story/life/people/2014/02/27/katy-perry-helps-deliver-baby-in-living-room/5868609/>type=”Link”
![Page 14: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/14.jpg)
Wrong Data Model for Raw Data
![Page 15: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/15.jpg)
4.1 WWW Application Domain RequirementsWhat can let us REST?
Can we drive the state transitions of multiple user-agents? Is it easy to author?
Can the service evolve?
Is the UI responsive?
Is it web scale?Can we share data effortlessly and deploy the client and server independently?
![Page 16: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/16.jpg)
Can JSON let us REST?4.1 WWW Application Domain Requirements
Can we drive the state transitions of multiple user-agents? Is it easy to author?
Can the service evolve?
Is the UI responsive?
Is it web scale?Can we share data effortlessly and deploy the client and server independently?
![Page 17: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/17.jpg)
Can CSV let us REST?4.1 WWW Application Domain Requirements
Can we drive the state transitions of multiple user-agents? Is it easy to author?
Can the service evolve?
Is the UI responsive?
Is it web scale?Can we share data effortlessly and deploy the client and server independently?
![Page 18: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/18.jpg)
Can Plain ol’ XML let us REST?
Can we drive the state transitions of multiple user-agents? Is it easy to author?
Can the service evolve?
Is the UI responsive?
Is it web scale?Can we share data effortlessly and deploy the client and server independently?
![Page 19: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/19.jpg)
Can HTML5 let us REST?4.1 WWW Application Domain Requirements4.1 WWW Application Domain Requirements
Can we drive the state transitions of multiple user-agents? Is it easy to author?
Can the service evolve?
Is the UI responsive?
Is it web scale?Can we share data effortlessly and deploy the client and server independently?
![Page 20: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/20.jpg)
Can RDFa+HTML5 let us REST?4.1 WWW Application Domain Requirements4.1 WWW Application Domain Requirements
Can we drive the state transitions of multiple user-agents? Is it easy to author?
Can the service evolve?
Is the UI responsive?
Is it web scale?Can we share data effortlessly and deploy the client and server independently?
![Page 21: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/21.jpg)
Can RDF let us REST?4.1 WWW Application Domain Requirements4.1 WWW Application Domain Requirements
Can we drive the state transitions of multiple user-agents? Is it easy to author?
Can the service evolve?
Is the UI responsive?
Is it web scale?Can we share data effortlessly and deploy the client and server independently?
![Page 22: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/22.jpg)
RDF as Distributed Hypermedia
@prefix hydra: <http://www.w3.org/ns/hydra/core#> .
Hydra +1 stars
![Page 23: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/23.jpg)
Not XML; please God no!
![Page 24: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/24.jpg)
Triples?
</story/43> gannett:author </author/54> .
subject predicate object
Eric has a bike.
subject predicate object
English:
RDF:
</author/54> gannett:firstName “Eric” .
subject predicate object
![Page 25: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/25.jpg)
RDF is a graph
gannett:author
/story/43
/people/54
Eric
Moritz
gannett:firstName
gannett:lastName
![Page 26: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/26.jpg)
RDF is a graph
/story/43
/people/54
Ericgannett:author
Moritz
gannett:firstName
gannett:lastName
/state/va
gannett:name
Virginia
gannett:state
![Page 27: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/27.jpg)
Can we finally get some REST?4.1 WWW Application Domain Requirements4.1 WWW Application Domain Requirements
Can we drive the state transitions of multiple user-agents? Is it easy to author?
Can the service evolve?
Is the UI responsive?
Is it web scale?Can we share data effortlessly and deploy the client and server independently?
![Page 28: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/28.jpg)
JSON-LD
![Page 29: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/29.jpg)
Linked Data (2006) constraints
http://www.w3.org/DesignIssues/LinkedData.html
http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html
![Page 30: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/30.jpg)
Shared Vocabulary
<http://memegenerator.net/topText>
<http://memegenerator.net/bottomText>
<http://schema.org/url>
<http://memegenerator.net/Meme>
<http://schema.org/image>
<http://schema.org/Thing>
![Page 31: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/31.jpg)
Shared Vocabulary
<http://memegenerator.net/topText>
<http://memegenerator.net/bottomText>
<http://schema.org/url>
<http://memegenerator.net/Meme>
<http://schema.org/image>
<http://schema.org/Thing>
![Page 33: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/33.jpg)
Shared Vocabulary
schema:image
schema:CreativeWork
schema:url
schema:title
schema:video
gannett:Asset
schema:VideoObject
schema:embedUrl
schema:encodingFormat
gannett:ssts
schema:video
schema:VideoObject
schema:embedUrl
schema:encodingFormat
gannett:SSTS
gannett:sstsSection
gannett:sstsSubSection
![Page 34: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/34.jpg)
● Clarity of meaning● Flexibility of data modeling● Generality of user interfaces
With Linked Data
![Page 35: Linked Data and REST](https://reader036.vdocuments.mx/reader036/viewer/2022062709/558fcfe21a28ab3f1b8b4622/html5/thumbnails/35.jpg)
We can finally get some REST