JSON-LD
{{short description|File format for encoding linked data}}
{{Stack|{{Infobox file format
| name = JSON-LD
| icon =
| logo =
| extension = .jsonld
| mime = application/ld+json
| type code =
| uniform type =
| magic =
| owner =
| genre = Semantic Web
| container for = Linked Data
| extended from = JSON
| extended to =
| standard = [http://www.w3.org/TR/json-ld/ JSON-LD 1.1] / [http://www.w3.org/TR/json-ld-api/ JSON-LD 1.1 API]
| open = Yes
}}|
{{Infobox technology standard
| title = JSON-LD 1.1
| status = W3C Recommendation
| year_started = 2010
| editors = {{collapsible list|title=Editors|
- Gregg Kellogg
- Pierre-Antoine Champin
- Dave Longley
}}
{{collapsible list|title=Previous editors|
- Manu Sporny
- Markus Lanthaler
}}
| authors = Manu Sporny, Dave Longley, Gregg Kellogg, Markus Lanthaler, Niklas Lindström
| base_standards = {{plainlist|
- BCP 47
- JSON
- Resource Description Framework
- URI scheme
- Internationalized Resource Identifier
- Unicode Bidirectional Algorithm
}}
| abbreviation = JSON-LD
| domain = Semantic Web, Data Serialization
| website = {{plainlist|
- {{URL|https://json-ld.org/|json-ld.org}}
- {{URL|https://www.w3.org/TR/json-ld/|JSON-LD 1.1}}
- {{URL|https://www.w3.org/TR/json-ld-api/|JSON-LD 1.1 Processing Algorithms and API}}
- {{URL|https://www.w3.org/TR/json-ld11-framing/|JSON-LD 1.1 Framing}}
}}
}}
}}
JSON-LD (JavaScript Object Notation for Linked Data) is a method of encoding linked data using JSON. One goal for JSON-LD was to require as little effort as possible from developers to transform their existing JSON to JSON-LD.{{cite web |url=http://json-ld.org/spec/latest/json-ld-syntax/|title=JSON-LD Syntax 1.1 |date=2010-07-16 |access-date=2020-12-10 }} JSON-LD allows data to be serialized in a way that is similar to traditional JSON.{{cite web |url=http://m.lanthi.com/jsonld4rest-paper|title=On Using JSON-LD to Create Evolvable RESTful Services}}, M. Lanthaler and C. Gütl in Proceedings of the 3rd International Workshop on RESTful Design (WS-REST 2012) at WWW2012. It was initially developed by the JSON for Linking Data Community Group{{cite web|url=https://json-ld.org/|title=JSON for Linking Data Community Group|publisher=json-ld.org}} before being transferred to the RDF Working Group{{cite web|url=http://www.w3.org/2011/rdf-wg/wiki/Main_Page|title=RDF Working Group|publisher=w3.org}} for review, improvement, and standardization,{{cite web |url=https://www.w3.org/TR/2014/REC-json-ld-20140116/ |title=JSON-LD 1.0, A JSON-based Serialization for Linked Data, W3C Recommendation 16 January 2014 |date=2014-01-16 |access-date=2020-12-10 }} and is currently maintained by the JSON-LD Working Group.{{cite web|url=https://www.w3.org/2018/json-ld-wg/|title=JSON-LD Working Group|publisher=w3.org}} JSON-LD is a World Wide Web Consortium Recommendation.
Design
JSON-LD is designed around the concept of a "context" to provide additional mappings from JSON to an RDF model. The context links object properties in a JSON document to concepts in an ontology. In order to map the JSON-LD syntax to RDF, JSON-LD allows values to be coerced to a specified type or to be tagged with a language. A context can be embedded directly in a JSON-LD document or put into a separate file and referenced from different documents (from traditional JSON documents via an HTTP Link header).
Example
{
"@context": {
"name": "http://xmlns.com/foaf/0.1/name",
"homepage": {
"@id": "http://xmlns.com/foaf/0.1/workplaceHomepage",
"@type": "@id"
},
"Person": "http://xmlns.com/foaf/0.1/Person"
},
"@id": "https://me.example.com",
"@type": "Person",
"name": "John Smith",
"homepage": "https://www.example.com/"
}
The example above describes a person, based on the FOAF (friend of a friend) ontology. First, the two JSON properties name
and homepage
and the type Person
are mapped to concepts in the FOAF vocabulary and the value of the homepage
property is specified to be of the type @id
. In other words, the homepage id is specified to be an IRI in the context definition. Based on the RDF model, this allows the person described in the document to be unambiguously identified by an IRI. The use of resolvable IRIs allows RDF documents containing more information to be transcluded which enables clients to discover new data by simply following those links; this principle is known as 'Follow Your Nose'.{{cite web |url=http://patterns.dataincubator.org/book/follow-your-nose.html|title=Linked Data Patterns, Chapter 5: Follow Your Nose |date=2023-06-07 |access-date=2023-06-07 }}
By having all data semantically annotated as in the example, an RDF processor can identify that the document contains information about a person (@type
) and if the processor understands the FOAF vocabulary it can determine which properties specify the person's name and homepage.
Use
The encoding is used by Schema.org,{{Cite web |title= Data Model |url= https://schema.org/docs/datamodel.html |website= Schema.org |access-date= 2018-06-20 |language= en}} Google Knowledge Graph,{{cite web | title=Understanding structured data | date=14 June 2022 | url=https://blog.bendevoficial.com/posts/understanding-structured-data | publisher=Bendev Junior }}{{Cite web|title = Method Entities in Search|url = https://developers.google.com/knowledge-graph/reference/rest/v1/|website = Google Developers|access-date = 2017-10-17|language = en}} and used mostly for search engine optimization activities. It has also been used for applications such as biomedical informatics,{{Cite journal |last1=Xin |first1=Jiwen |last2= Afrasiabi |first2=Cyrus |last3=Lelong |first3=Sebastien |last4=Adesara |first4=Julee |last5=Tsueng |first5=Ginger |last6=Su |first6=Andrew I. |last7=Wu |first7=Chunlei |date= 2018-02-01 |title= Cross-linking BioThings APIs through JSON-LD to facilitate knowledge exploration |journal=BMC Bioinformatics|volume=19|issue=1|pages=30|doi=10.1186/s12859-018-2041-5 |pmc=5796402|pmid=29390967 |doi-access=free }} and representing provenance information.{{cite conference|last1=Huynh|first1=Trung Dong|chapter=PROV-JSONLD: A JSON and linked data representation for provenance|date=2016|last2=Michaelides|last3=Moreau|first2=Danius T.|first3=Luc | editor-last=Mattoso | editor-first=Marta | editor-last2=Glavic | editor-first2=Boris|title=Provenance and annotation of data and processes: 6th International Provenance and Annotation Workshop, IPAW 2016, McLean, VA, USA, June 7-8, 2016, Proceedings | series=Lecture Notes in Computer Science |volume=9672 |pages=173–177 | publication-place=Cham | publisher=Springer International Publishing|language=en|doi=10.1007/978-3-319-40593-3_15|isbn=978-3-319-40592-6 |s2cid=44036472 |chapter-url=https://eprints.soton.ac.uk/395985/1/prov-jsonld-poster-abs.pdf}} It is also the basis of Activity Streams, a format for "the exchange of information about potential and completed activities",{{Cite journal|last=Prodromou|first=Evan|date=May 2017|title=Activity Streams 2.0|url=https://www.w3.org/TR/2017/REC-activitystreams-core-20170523/|journal=W3C Recommendation|via=W3C}} and is used in ActivityPub, the federated social networking protocol.{{Cite journal|last=Tallon|first=Jessica|date=Jan 2018|title=ActivityPub|url=https://www.w3.org/TR/2018/REC-activitypub-20180123/|journal=W3C Recommendation|via=W3C}} Additionally, it is used in the context of Internet of Things (IoT), where a Thing Description,{{Cite web|url=https://www.w3.org/TR/wot-thing-description|title=Web of Things (WoT) Thing Description, W3C Proposed Recommendation|website=www.w3.org|access-date=2020-03-26}} which is a JSON-LD document, describes the network facing interfaces of IoT devices.
See also
References
External links
- [http://json-ld.org/ JSON-LD.org]
{{Semantic Web}}
{{Document markup languages}}
{{W3C standards}}
Category:Resource Description Framework