20. RDF is a standard model
for data interchange on
the Web
21. What does it do?
• Data merging even if underlying schemas differ
• Supports the evolution of schemas over time
without requiring consumers to change
• Eliminates data silos between your applications
• Allows you to ask questions of your data in a
standard way
32. Universal Uniqueness
• Triples use IRIs to uniquely identify Things in the Universe.
• IRIs allow us to use terms that are specific and universal
• IRIs are URIs, but internationalized
33. Expressed as a graph
Donald Barley
subject predicate object
owns
42. Example in Turtle
@base <http://example.com/> .
@prefix schema: <http://schema.org/> .
@prefix db: <http://dbpedia.org/ontology/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<people/Donald> a schema:Person ;
schema:givenName "Donald"^^xsd:string ;
schema:owns <animals/Barley> .
<animals/Barley> a db:Dog ;
schema:givenName "Barley"^^xsd:string .
43. Cool stuff?
• RDF is just a way of making statements about
Things.
• There is no order in RDF unlike JSON objects.
• To assert information about a given subject, you
don’t have to know where in the hierarchy that it
exists. We just use the subjects IRI.
44. RDF allows us to say
anything about any Thing
in the Universe.
45. Whatever man, this stuff
looks confusing and
stupid. I’ll stick to JSON.
47. JSON-LD
• The goal was to require as little effort as possible
from developers
• There are a ton of web APIs out there. Changing to
a new format would break a lot of stuff
• JSON-LD lets us add semantic meaning without
breaking.
52. Media Types
• JSON-LD: application/ld+json
• Turtle: text/turtle
• N-Triples: application/n-triples
• N-Quads: application/n-quads
• RDF/XML: application/rdf+xml (Don’t use this one)
53. No need for another media
type
• The media type isn’t that relevant anymore
• Any schema or data model can be described with
RDF.
• Think of it as a language that everyone speaks.
54. JSON Web APIs
• Existing Web APIs can leverage JSON-LD to
promote data exchange between Applications
• Existing Web APIs that don’t or won’t support
JSON-LD is ok too. You can inject an @context into
a JSON fragment using out-of-band knowledge
and still use it as RDF
• JSON-LD supports both expansion and
compaction
65. Hydra
• Currently a W3C draft specification
• Hydra is a lightweight vocabulary to create
hypermedia-driven Web APIs. By specifying a
number of concepts commonly used in Web APIs it
enables the creation of generic API clients.