SlideShare a Scribd company logo
JSON-LD Update
State of JSON-LD in 2017
1
Gregg Kellogg
gregg@greggkellogg.net
@gkellogg
http://www.slideshare.net/gkellogg1/jsonld-update-dc-2017
Quite Successful Format
• The October 2016 Common Crawl reports over 2 million
(out of 3 million) HTML pages include JSON-LD [1].
• JSON-LD is one of the formats supported by schema.org,
in addition to Microdata and RDFa [2].
• JSON-LD is a required format in the Linked Data platform
[3].
• JSON-LD is becoming popular for many other REST APIs.
2
[1] webdatacommons.org/structureddata/#results-2016-1
[2] http://blog.schema.org/2013/06/schemaorg-and-json-ld.html
[3] https://www.w3.org/TR/ldp/
Keys to Success
• A primary goal was to allow JSON developers to
use it as if it is normal JSON.
The syntax is designed to not disturb already deployed systems running on
JSON, but provide a smooth upgrade path from JSON to JSON-LD. Since the
shape of such data varies wildly, JSON-LD features mechanisms to reshape
documents into a deterministic structure which simplifies their processing [4].
• JSON-LD allows developers to focus on the JSON,
but modelers to get back to the RDF data model for
semantic analysis and validation.
3
[4] https://www.w3.org/TR/json-ld/
JSON-LD – Key
Features
• Add @context to JSON to associate terms (properties) with
IRIs which define them.
• Describe the expected types for string values of properties
• IRI, Dates, Numbers, …
• Treat collections as lists or sets.
• Encourage the use of well-known identifiers for entities, and
provide typing (@id and @type).
• (much more, see JSON-LD 1.0 for a complete feature set).
4
JSON-LD 1.1
• It’s been over three years since JSON-LD 1.0 was published, and feature requests have been
mounting:
• 36 issues addressed since 1.0 (15 still open)
• Use objects to index into collections, rather than only array form
• Previously restricted to @index and @language. Now available on @id and @type.
• Can include @set with other container types (e.g.: "@container": ["@set",
"@language"]).
• Framing, never complete in 1.0. Now provides ability to match on @id, inclusive or exclusive
@type, property values, and specifics of a value object. Supports framing of datasets, not just
graphs.
• Contexts scoped to terms: property values or entities using a given type term can overlay
terms-specific contexts.
• Ignore some elements of JSON structure.
• Abstract from JSON-itself, allowing for YAML, CBOR and other LD representations.
5
Version Announcement
6
{
"@context":
{
"@version": 1.1,
"schema": "http://schema.org/",
"name": "schema:name",
"body": "schema:articleBody",
"words": "schema:wordCount",
"post": {
"@id": "schema:blogPost",
"@container": "@id"
}
},
"@id": "http://example.com/",
"@type": "schema:Blog",
"name": "World Financial News",
…
}
• For backwards compatibility, version 1.1 must be
specified to use new 1.1 features (may be through API).
@id Maps
7
{
"@context":
{
"@version": 1.1,
"schema": "http://schema.org/",
"name": "schema:name",
"body": "schema:articleBody",
"words": "schema:wordCount",
"post": {
"@id": "schema:blogPost",
"@container": "@id"
}
},
"@id": "http://example.com/",
"@type": "schema:Blog",
"name": "World Financial News",
"post": {
"http://example.com/posts/1/en": {
"body": "World commodities were up today with heavy trading of crude oil...",
"words": 1539
},
"http://example.com/posts/1/de": {
"body": "Die Werte an Warenbörsen stiegen im Sog eines starken Handels von Rohöl...",
"words": 1204
}
}
}
Nested Properties
8
{
"@context": {
"@version": 1.1,
"skos": "http://www.w3.org/2004/02/skos/core#",
"labels": "@nest",
"main_label": {"@id": "skos:prefLabel"},
"other_label": {"@id": "skos:altLabel"},
"homepage": {"@id": "http://schema.org/description", "@type": "@id"}
},
"@id": "http://example.org/myresource",
"homepage": "http://example.org",
"labels": {
"main_label": "This is the main label for my resource",
"other_label": "This is the other label"
}
}
Scoped Contexts
9
{
“@context": {
"@version": 1.1,
"name": "http://schema.org/name",
"interest": {
"@id":"http://xmlns.com/foaf/0.1/interest",
"@context": {"@vocab": "http://xmlns.com/foaf/0.1/"}
}
},
"name": "Manu Sporny",
"interest": {
"@id": "https://www.w3.org/TR/json-ld/",
"name": "JSON-LD",
"topic": "Linking Data"
}
}
Scoped Contexts (@type)
10
{
“@context": {
"@version": 1.1,
"name": "http://schema.org/name",
"interest": "http://xmlns.com/foaf/0.1/interest",
"Document": {
"@id": "http://xmlns.com/foaf/0.1/Document",
"@context": {"@vocab": "http://xmlns.com/foaf/0.1/"}
}
},
"@type": "Person",
"name": "Manu Sporny",
"interest": {
"@id": "https://www.w3.org/TR/json-ld/",
"@type": "Document",
"name": "JSON-LD",
"topic": "Linking Data"
}
}
Improve Compact IRIs
11
• Previously, when compacting, compact IRIs could
be created that were not intended.
• E.g., defining a term “sport” could cause the
creation of a term “sport:sEvent”, where
“schema:sportsEvent” was intended.
• Now, terms only used for creating Compact IRIs if
the term ends with a “:” or the value of the term is
an IRI ending with “/” or “#”.
Open Issues
12
• Add an @graph container type [#195].
• Unmapped JSON values [#333].
• Remove unnecessary use of @graph in framed output
[#435].
• Improve use of language maps with values not having
a language [#480].
• HTTP Request profile to specify compaction context or
frame [#491].
JSON-LD 1.1 Timeline
• All work being done in Community Group [5][6].
• With enough interest, a Working Group could be spun up to create a Recommendation,
and possibly address additional requirements.
• Suggested Plenary for TPAC 2017
• Expect community drafts to complete in Q4 2017 (Please comment to help get approved).
• Ruby implementation conforms to all changes in CG specs.
• Live at Ruby RDF Distiller.
• Changes likely easily applied to Python, Javascript, PHP, Java, C#, Go and other
implementations.
• Still no publicly available implementation in “C”.
13
[5] https://www.w3.org/community/json-ld/
[6] http://json-ld.org
Related Topics for
using JSON-LD
14
Shape Expressions
(ShEx)
• ShEx [7] is used for
validating graph
patterns, similar to,
but less complex then
SHACL.
• JSON grammar is
JSON-LD/RDF.
Also has Compact
Grammar.
15
[7] https://shexspec.github.io/spec
ex:PersonShape {
foaf:name .
}
ex:EmployeeShape {
&ex:PersonShape ;
ex:employeeNumber .
}
{ "type":"Schema", "shapes": [{
"id": "http://schema.example/PersonShape",
“type": "Shape", "expression": {
"type": "TripleConstraint",
"predicate": "http://xmlns.com/foaf/0.1/name"
}
}, {
"id": "http://schema.example/EmployeeShape":,
"type": "Shape", "expression": {
“type": "EachOf", "shapeExprs": [
“http://schema.example/PersonShape",
{ "type": "TripleConstraint",
"predicate": "http://schema.example/employeeNumber" }
]
}
}]
}
Decentralized Identifiers
• The WebDHT [8] proposes to use the block-chain
for as an identifier space with immutable content in
the block chain.
• Content is a JSON-LD document, so may be used
as the target of a @context.
• Content will not change, so may be cached or
distributed out-of-band.
• Content signed to guarantee veracity.
16
[8] http://opencreds.org/specs/source/webdht/
Linked Data Signatures
• Mechanism for signing Linked Data documents [9]
• Part of the work of the Digital Verification Community Group [10]
17
[9] https://w3c-dvcg.github.io/ld-signatures/
[10] https://w3c-dvcg.github.io/
{
"@context": "https://w3id.org/identity/v1",
"title": "Hello World!",
"signature": {
"type": "LinkedDataSignature2015",
"creator": "http://example.com/i/pat/keys/5",
"created": "2011-09-23T20:21:34Z",
"domain": "example.org",
"nonce": "2bbgh3dgjg2302d-d2b3gi423d42",
"signatureValue": "OGQzNGVkMzVm4NTIyZTkZDY...NmExMgoYzI43Q3ODIyOWM32NjI="
}
}
Verifiable Claims
• Close to becoming a
Working group [12].
• Could be a source
of identity for WoT.
• Defines a data model
and syntax for
making claims [13].
18
[12] http://w3c.github.io/vctf/charter/proposal.html
[13] https://opencreds.github.io/vc-data-model/
More Information
19
json-ld.org
github://json-ld.org/json-ld/issues
Gregg Kellogg
@gkellogg
gregg@greggkellogg.net
http://greggkellogg.net/
json-ld.org/spec/latest/json-ld/
json-ld.org/spec/latest/json-ld-api/
json-ld.org/spec/latest/json-ld-framing/

More Related Content

PDF
JSON-LD Update
PDF
Tabular Data on the Web
PPTX
Hydra: A Vocabulary for Hypermedia-Driven Web APIs
PDF
JSON-LD: Linked Data for Web Apps
KEY
JSON-LD: JSON for Linked Data
KEY
JSON-LD and MongoDB
PPTX
Building Next-Generation Web APIs with JSON-LD and Hydra
PPTX
JSON-LD for RESTful services
JSON-LD Update
Tabular Data on the Web
Hydra: A Vocabulary for Hypermedia-Driven Web APIs
JSON-LD: Linked Data for Web Apps
JSON-LD: JSON for Linked Data
JSON-LD and MongoDB
Building Next-Generation Web APIs with JSON-LD and Hydra
JSON-LD for RESTful services

What's hot (20)

PDF
JSON-LD: JSON for the Social Web
PPTX
Creating 3rd Generation Web APIs with Hydra
PDF
Building your first app with mongo db
PPTX
RDFa Tutorial
PPTX
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
PDF
RDFa: introduction, comparison with microdata and microformats and how to use it
KEY
Open Standards for the Semantic Web: XML / RDF(S) / OWL / SOAP
PDF
CouchDB at New York PHP
PPTX
Back to Basics 1: Thinking in documents
PDF
Building your first app with MongoDB
KEY
Modeling Data in MongoDB
PPTX
Beautiful REST+JSON APIs with Ion
PPTX
Mongo db operations_v2
KEY
Practical Ruby Projects With Mongo Db
PDF
The Lonesome LOD Cloud
PDF
Entity Relationships in a Document Database at CouchConf Boston
PDF
The Fine Art of Schema Design in MongoDB: Dos and Don'ts
PDF
Overview of GraphQL & Clients
PPTX
Conceptos básicos. seminario web 3 : Diseño de esquema pensado para documentos
PPTX
Dev Jumpstart: Build Your First App with MongoDB
JSON-LD: JSON for the Social Web
Creating 3rd Generation Web APIs with Hydra
Building your first app with mongo db
RDFa Tutorial
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
RDFa: introduction, comparison with microdata and microformats and how to use it
Open Standards for the Semantic Web: XML / RDF(S) / OWL / SOAP
CouchDB at New York PHP
Back to Basics 1: Thinking in documents
Building your first app with MongoDB
Modeling Data in MongoDB
Beautiful REST+JSON APIs with Ion
Mongo db operations_v2
Practical Ruby Projects With Mongo Db
The Lonesome LOD Cloud
Entity Relationships in a Document Database at CouchConf Boston
The Fine Art of Schema Design in MongoDB: Dos and Don'ts
Overview of GraphQL & Clients
Conceptos básicos. seminario web 3 : Diseño de esquema pensado para documentos
Dev Jumpstart: Build Your First App with MongoDB
Ad

Similar to JSON-LD update DC 2017 (20)

PPTX
What's New in RDF 1.1?
PDF
JSON-LD and SHACL for Knowledge Graphs
PDF
JSON-LD
PDF
Creating Web APIs with JSON-LD and RDF
PPTX
New approaches to hypertext and REST in a mobile-first world
PDF
SPARQL and Linked Data
PDF
The Characteristics of a RESTful Semantic Web and Why They Are Important
PDF
Introduction to Json ld
PDF
JSON API Specificiation
KEY
Devoxx - JSON Validation using JSON Schema and Jackson
PPT
OWL briefing
PDF
LOD(Linked Open Data) Recommendations
PDF
JSON and JSON Schema in Oxygen
PPTX
Open standards for linked organisations | meeting Estonia - Flemish Governmen...
PDF
Ld4 dh tutorial
PDF
Graph Abstractions Matter by Ora Lassila
PDF
20th Feb 2020 json-ld-rdf-im-proposal.pdf
PPTX
RDF SHACL, Annotations, and Data Frames
PDF
ESWC SS 2012 - Monday Tutorial 1 Aidan Hogan: Semantic Web Languages and Stan...
PDF
UGent Research Projects on Linked Data in Architecture and Construction
What's New in RDF 1.1?
JSON-LD and SHACL for Knowledge Graphs
JSON-LD
Creating Web APIs with JSON-LD and RDF
New approaches to hypertext and REST in a mobile-first world
SPARQL and Linked Data
The Characteristics of a RESTful Semantic Web and Why They Are Important
Introduction to Json ld
JSON API Specificiation
Devoxx - JSON Validation using JSON Schema and Jackson
OWL briefing
LOD(Linked Open Data) Recommendations
JSON and JSON Schema in Oxygen
Open standards for linked organisations | meeting Estonia - Flemish Governmen...
Ld4 dh tutorial
Graph Abstractions Matter by Ora Lassila
20th Feb 2020 json-ld-rdf-im-proposal.pdf
RDF SHACL, Annotations, and Data Frames
ESWC SS 2012 - Monday Tutorial 1 Aidan Hogan: Semantic Web Languages and Stan...
UGent Research Projects on Linked Data in Architecture and Construction
Ad

Recently uploaded (20)

PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
The various Industrial Revolutions .pptx
PDF
WOOl fibre morphology and structure.pdf for textiles
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
DP Operators-handbook-extract for the Mautical Institute
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Zenith AI: Advanced Artificial Intelligence
observCloud-Native Containerability and monitoring.pptx
A contest of sentiment analysis: k-nearest neighbor versus neural network
A comparative study of natural language inference in Swahili using monolingua...
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Developing a website for English-speaking practice to English as a foreign la...
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Assigned Numbers - 2025 - Bluetooth® Document
Getting started with AI Agents and Multi-Agent Systems
NewMind AI Weekly Chronicles - August'25-Week II
The various Industrial Revolutions .pptx
WOOl fibre morphology and structure.pdf for textiles
cloud_computing_Infrastucture_as_cloud_p
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
DP Operators-handbook-extract for the Mautical Institute
Programs and apps: productivity, graphics, security and other tools
Univ-Connecticut-ChatGPT-Presentaion.pdf
Group 1 Presentation -Planning and Decision Making .pptx
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Zenith AI: Advanced Artificial Intelligence

JSON-LD update DC 2017

  • 1. JSON-LD Update State of JSON-LD in 2017 1 Gregg Kellogg gregg@greggkellogg.net @gkellogg http://www.slideshare.net/gkellogg1/jsonld-update-dc-2017
  • 2. Quite Successful Format • The October 2016 Common Crawl reports over 2 million (out of 3 million) HTML pages include JSON-LD [1]. • JSON-LD is one of the formats supported by schema.org, in addition to Microdata and RDFa [2]. • JSON-LD is a required format in the Linked Data platform [3]. • JSON-LD is becoming popular for many other REST APIs. 2 [1] webdatacommons.org/structureddata/#results-2016-1 [2] http://blog.schema.org/2013/06/schemaorg-and-json-ld.html [3] https://www.w3.org/TR/ldp/
  • 3. Keys to Success • A primary goal was to allow JSON developers to use it as if it is normal JSON. The syntax is designed to not disturb already deployed systems running on JSON, but provide a smooth upgrade path from JSON to JSON-LD. Since the shape of such data varies wildly, JSON-LD features mechanisms to reshape documents into a deterministic structure which simplifies their processing [4]. • JSON-LD allows developers to focus on the JSON, but modelers to get back to the RDF data model for semantic analysis and validation. 3 [4] https://www.w3.org/TR/json-ld/
  • 4. JSON-LD – Key Features • Add @context to JSON to associate terms (properties) with IRIs which define them. • Describe the expected types for string values of properties • IRI, Dates, Numbers, … • Treat collections as lists or sets. • Encourage the use of well-known identifiers for entities, and provide typing (@id and @type). • (much more, see JSON-LD 1.0 for a complete feature set). 4
  • 5. JSON-LD 1.1 • It’s been over three years since JSON-LD 1.0 was published, and feature requests have been mounting: • 36 issues addressed since 1.0 (15 still open) • Use objects to index into collections, rather than only array form • Previously restricted to @index and @language. Now available on @id and @type. • Can include @set with other container types (e.g.: "@container": ["@set", "@language"]). • Framing, never complete in 1.0. Now provides ability to match on @id, inclusive or exclusive @type, property values, and specifics of a value object. Supports framing of datasets, not just graphs. • Contexts scoped to terms: property values or entities using a given type term can overlay terms-specific contexts. • Ignore some elements of JSON structure. • Abstract from JSON-itself, allowing for YAML, CBOR and other LD representations. 5
  • 6. Version Announcement 6 { "@context": { "@version": 1.1, "schema": "http://schema.org/", "name": "schema:name", "body": "schema:articleBody", "words": "schema:wordCount", "post": { "@id": "schema:blogPost", "@container": "@id" } }, "@id": "http://example.com/", "@type": "schema:Blog", "name": "World Financial News", … } • For backwards compatibility, version 1.1 must be specified to use new 1.1 features (may be through API).
  • 7. @id Maps 7 { "@context": { "@version": 1.1, "schema": "http://schema.org/", "name": "schema:name", "body": "schema:articleBody", "words": "schema:wordCount", "post": { "@id": "schema:blogPost", "@container": "@id" } }, "@id": "http://example.com/", "@type": "schema:Blog", "name": "World Financial News", "post": { "http://example.com/posts/1/en": { "body": "World commodities were up today with heavy trading of crude oil...", "words": 1539 }, "http://example.com/posts/1/de": { "body": "Die Werte an Warenbörsen stiegen im Sog eines starken Handels von Rohöl...", "words": 1204 } } }
  • 8. Nested Properties 8 { "@context": { "@version": 1.1, "skos": "http://www.w3.org/2004/02/skos/core#", "labels": "@nest", "main_label": {"@id": "skos:prefLabel"}, "other_label": {"@id": "skos:altLabel"}, "homepage": {"@id": "http://schema.org/description", "@type": "@id"} }, "@id": "http://example.org/myresource", "homepage": "http://example.org", "labels": { "main_label": "This is the main label for my resource", "other_label": "This is the other label" } }
  • 9. Scoped Contexts 9 { “@context": { "@version": 1.1, "name": "http://schema.org/name", "interest": { "@id":"http://xmlns.com/foaf/0.1/interest", "@context": {"@vocab": "http://xmlns.com/foaf/0.1/"} } }, "name": "Manu Sporny", "interest": { "@id": "https://www.w3.org/TR/json-ld/", "name": "JSON-LD", "topic": "Linking Data" } }
  • 10. Scoped Contexts (@type) 10 { “@context": { "@version": 1.1, "name": "http://schema.org/name", "interest": "http://xmlns.com/foaf/0.1/interest", "Document": { "@id": "http://xmlns.com/foaf/0.1/Document", "@context": {"@vocab": "http://xmlns.com/foaf/0.1/"} } }, "@type": "Person", "name": "Manu Sporny", "interest": { "@id": "https://www.w3.org/TR/json-ld/", "@type": "Document", "name": "JSON-LD", "topic": "Linking Data" } }
  • 11. Improve Compact IRIs 11 • Previously, when compacting, compact IRIs could be created that were not intended. • E.g., defining a term “sport” could cause the creation of a term “sport:sEvent”, where “schema:sportsEvent” was intended. • Now, terms only used for creating Compact IRIs if the term ends with a “:” or the value of the term is an IRI ending with “/” or “#”.
  • 12. Open Issues 12 • Add an @graph container type [#195]. • Unmapped JSON values [#333]. • Remove unnecessary use of @graph in framed output [#435]. • Improve use of language maps with values not having a language [#480]. • HTTP Request profile to specify compaction context or frame [#491].
  • 13. JSON-LD 1.1 Timeline • All work being done in Community Group [5][6]. • With enough interest, a Working Group could be spun up to create a Recommendation, and possibly address additional requirements. • Suggested Plenary for TPAC 2017 • Expect community drafts to complete in Q4 2017 (Please comment to help get approved). • Ruby implementation conforms to all changes in CG specs. • Live at Ruby RDF Distiller. • Changes likely easily applied to Python, Javascript, PHP, Java, C#, Go and other implementations. • Still no publicly available implementation in “C”. 13 [5] https://www.w3.org/community/json-ld/ [6] http://json-ld.org
  • 15. Shape Expressions (ShEx) • ShEx [7] is used for validating graph patterns, similar to, but less complex then SHACL. • JSON grammar is JSON-LD/RDF. Also has Compact Grammar. 15 [7] https://shexspec.github.io/spec ex:PersonShape { foaf:name . } ex:EmployeeShape { &ex:PersonShape ; ex:employeeNumber . } { "type":"Schema", "shapes": [{ "id": "http://schema.example/PersonShape", “type": "Shape", "expression": { "type": "TripleConstraint", "predicate": "http://xmlns.com/foaf/0.1/name" } }, { "id": "http://schema.example/EmployeeShape":, "type": "Shape", "expression": { “type": "EachOf", "shapeExprs": [ “http://schema.example/PersonShape", { "type": "TripleConstraint", "predicate": "http://schema.example/employeeNumber" } ] } }] }
  • 16. Decentralized Identifiers • The WebDHT [8] proposes to use the block-chain for as an identifier space with immutable content in the block chain. • Content is a JSON-LD document, so may be used as the target of a @context. • Content will not change, so may be cached or distributed out-of-band. • Content signed to guarantee veracity. 16 [8] http://opencreds.org/specs/source/webdht/
  • 17. Linked Data Signatures • Mechanism for signing Linked Data documents [9] • Part of the work of the Digital Verification Community Group [10] 17 [9] https://w3c-dvcg.github.io/ld-signatures/ [10] https://w3c-dvcg.github.io/ { "@context": "https://w3id.org/identity/v1", "title": "Hello World!", "signature": { "type": "LinkedDataSignature2015", "creator": "http://example.com/i/pat/keys/5", "created": "2011-09-23T20:21:34Z", "domain": "example.org", "nonce": "2bbgh3dgjg2302d-d2b3gi423d42", "signatureValue": "OGQzNGVkMzVm4NTIyZTkZDY...NmExMgoYzI43Q3ODIyOWM32NjI=" } }
  • 18. Verifiable Claims • Close to becoming a Working group [12]. • Could be a source of identity for WoT. • Defines a data model and syntax for making claims [13]. 18 [12] http://w3c.github.io/vctf/charter/proposal.html [13] https://opencreds.github.io/vc-data-model/