What is JSON-LD?
In a nutshell
JSON-LD (JavaScript Object Notation for Linked Data) is a data format much like JSON, except it includes a few standard properties that aim to provide additional context for the data and make it easier to find other related, linked data. Like JSON, JSON-LD is intended to be both human and machine-readable.
Here’s an example of JSON-LD data:
{
"@context": "https://example.com/api/contexts/Note",
"@id": "https://example.com/api/notes/2",
"@type": "Note",
"id": 2,
"title": "My first note",
"content": "What a life...",
"createdAt": "2022-06-01T11:25:40+00:00",
"updatedAt": "2022-06-01T11:25:40+00:00"
}
JSON-LD properties begin with the @
symbol. Here are the most common properties:
Properties
@context
This can be an absolute / relative IRI that contains the context definition:
{
"@context": "https://json-ld.org/contexts/person.jsonld",
}
Or, it can be a JSON object that inlines the context definition:
{
"@context": {
"name": "http://schema.org/name", ← This means that 'name' is shorthand for 'http://schema.org/name'
"image": {
"@id": "http://schema.org/image", ← This means that 'image' is shorthand for 'http://schema.org/image'
"@type": "@id" ← This means that a string value associated with 'image' should be interpreted as an identifier that is an IRI
},
"homepage": {
"@id": "http://schema.org/url", ← This means that 'homepage' is shorthand for 'http://schema.org/url'
"@type": "@id" ← This means that a string value associated with 'homepage' should be interpreted as an identifier that is an IRI
}
}
}
@id
The @id
is the unique IRI that identifies the node. Unique identifiers are an essential component of linked data.
@type
Specifies the type of the node. This can be an IRI:
{
...
"@id": "http://example.org/places#BrewEats",
"@type": "http://schema.org/Restaurant",
...
}
Or a term defined in the active context:
{
"@context": {
...
"Restaurant": "http://schema.org/Restaurant",
"Brewery": "http://schema.org/Brewery"
},
"@id": "http://example.org/places#BrewEats",
"@type": [ "Restaurant", "Brewery" ],
...
}
Key terms / jargon
Term | Description |
IRI | Internationalized Resource Identifier that uniquely identifies a node in a Linked Data system. |
IRI dereferncing | Looking up the definition of a term by using its IRI. |
Sources
Thanks for your comment 🙏. Once it's approved, it will appear here.
Leave a comment