Data is messy and disconnected. JSON-LD organizes and connects it, letting your creativity bloom.
Introduction
JSON-LD (JavaScript Object Notation for Linking Data) is a lightweight Linked Data format that gives your data context. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on the already successful JSON format and provides a way to help JSON data interoperate at Web-scale. If you are already familiar with JSON, writing JSON-LD is very easy. These properties make JSON-LD an ideal Linked Data interchange language for JavaScript environments, Web service, and unstructured databases such as CouchDB and MongoDB.
A simple example of a JSON object expressing Linked Data:
{
"@context": "http://json-ld.org/contexts/person.jsonld",
"@id": "http://dbpedia.org/resource/John_Lennon",
"name": "John Lennon",
"born": "1940-10-09",
"spouse": "http://dbpedia.org/resource/Cynthia_Lennon"
}
The example above describes a person whose name is John Lennon. The difference between regular JSON and JSON-LD is that the JSON-LD object above uniquely identifies itself on the Web and can be used, without introducing ambiguity, across every Web site, Web service and JSON-based database in operation today. The secret lies in the @context, which instructs Linked Data-aware processors on how to interpret the JSON object.
The Playground
You can use the Playground to try out JSON-LD in your web browser or to debug your own JSON-LD markup.
The Specifications
Specifications and requirements are available for the JSON-LD Syntax, API, and Framing as well as for RDF Graph Normalization. The latest drafts previous versions are available.
- Latest Drafts
- Previous Drafts
Community Feedback
The JSON-LD specifications are undergoing standardization at the World Wide Web Consortium. Comments from the public are being tracked via the JSON-LD issue tracker. These issues can be viewed below:
Implementations
- C++
- Erlang
- Java
- JavaScript
- PHP
- Python
- Ruby
Collaborating
Several parties interested in JSON-LD convene in periodic teleconferences.
There are several other ways that you can collaborate in the development of JSON-LD:
- Code: github
- Meeting Records: text and audio logs
- Mailing List: public-linked-json@w3.org
- IRC: #json-ld on Freenode
- W3C: Join the Community Group
You can show your JSON-LD support with a variety of images:
Publications / Articles
- On Using JSON-LD to Create Evolvable RESTful Services, Markus Lanthaler and Christian Gütl. Proceedings of the 3rd International Workshop on RESTful Design (WS-REST 2012) at WWW2012 (pp. 25-32). Lyon, France: ACM Press.
Presentations
- What is JSON-LD? Short video introduction to JSON-LD by Manu Sporny.
- JSON-LD: JSON for Linked Data by Gregg Kellogg, Semantic Technology & Business Conference (SemTechBiz SF 2012), San Francisco, CA, USA.
- JSON-LD for RESTful Services by Markus Lanthaler, World Wide Web Conference (WWW2012), Lyon, France.
- JSON-LD and MongoDB by Gregg Kellogg, NoSQL Now! 2012, San Jose, CA, USA.