RDF is a standard model
for data interchange on
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
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 .
• RDF is just a way of making statements about
• 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.
RDF allows us to say
anything about any Thing
in the Universe.
Whatever man, this stuff
looks confusing and
stupid. I’ll stick to JSON.
That’s ok. That’s cool.
Some smart guys thought
you’d say that.
• The goal was to require as little effort as possible
• 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
• 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)
No need for another media
• The media type isn’t that relevant anymore
• Any schema or data model can be described with
• Think of it as a language that everyone speaks.
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
• Currently a W3C draft speciﬁcation
• 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.