JSON-LD

The JSON-LD (JavaScript Object Notation, Linked Data) encoding is a lightweight data format that can be easy for humans to both read and write. Based on a standard JSON document, JSON-LD adds conventions and annotations for enforcing data conventions.

Example

{
  "@context": "https://schema.org/",
  "@type": "WebSite",
  "name": "Named Graph",
  "url": {
    "@id": "https://www.namedgraph.com/"
  }
}
Real Worldng:Inspector
RDF VocabularySnapshot
Schema.org VocabularySnapshot
W3C RDF Test Suite exampleSnapshot

Common Errors

Language Tag Not Well-formed

All language tags must be well-formed according to BCP47 and its Tags for Identifying Languages. Other values may be transformed into their canonical form.

Examples
UsageCode
Invalid
{
  "@value": "hello world",
  "@language": "en-us"
}
Invalid
{
  "@context": {
    "@language": "en-us"
  }
}
Valid
{
  "@value": "hello world",
  "@language": "en-US"
}

Unknown Keyword

The specification defines keywords using the @-prefix convention. Any keywords not defined by the specification are not considered valid and may be ignored.

Examples
UsageCode
Invalid
{
  "@context": {
    "example": "@example"
  }
}
Valid
{
  "@context": {
    "example": "https://example.com/"
  }
}

Limitations

  • Blank node identifiers as property identifiers or types are not supported (and obsolete per specifications).

Technical Notes

  • Reference: JSON-LD 1.1
  • Media Type: application/ld+json (or application/json)
  • File Name: *.jsonld (or *.json)