JSON-LD

JSON-LD (JavaScript Object Notation for Linked Data) は JSON を利用して Linked Data を表現する手法である。JSON-LD の目標のひとつは、開発者が既存の JSON を JSON-LD に変換する際の労力をできる限り減らすことであった。 JSON-LD は従来の JSON と同様の方法でデータをシリアライズすることができる。 当初は JSON for Linked Data Community Group によって開発されていたが、その後、評価・改善・標準化のために RDF Working Group に移され、現在は JSON-LD Working Group によってメンテナンスされている。 JSON-LD はW3C勧告である。 JSON-LD は JSON から RDF モデルへの追加のマッピングを提供する、「コンテキスト」(context) の概念に基づいて設計されている。コンテキストはJSON ドキュメント内のオブジェクトプロパティをオントロジー内の概念に結びつける。JSON-LD 記法を RDF に変換するために、JSON-LD は値を指定した型やタグ付けされた言語に強制することができる。コンテキストは直接 JSON-LD ドキュメントに埋め込むことも、別のファイルに入れて、他のドキュメント(HTTP リンクヘッダを介した従来の JSON ドキュメント)から参照することもできる。 { "@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/" } 上の例では、FOAF (Friend of a Friend) オントロジーに基づいて表された人間である。まず、name と homepage という二つの JSON プロパティと Person という型は FOAF 語彙の概念にマッピングされ、homepage プロパティの値は @id 型であると指定されている。言い換えれば、homepage の id はコンテキストの定義によって IRI であることを指定されている。RDF モデルに基づいて、ドキュメントの中で表される人物を IRI によって明確に識別することができる。解決可能な IRI を使うことで、さらに多くの情報を含むRDF ドキュメントを参照読み込みできるため、クライアントはそれらのリンクに従うだけで新しいデータを発見できる。この原則は Follow Your Nose として知られている。 この例のようにすべてのデータに意味論的な注釈を付けることによって、RDF プロセッサはドキュメントが人物 (@type) についての情報を含むことを識別することができ、プロセッサが FOAF 語彙を理解する場合にどのプロパティがその人物の name や homepage を指定しているのか判断することができる。 この記法は Schema.org、 Google Knowledge Graph、 で主に検索エンジン最適化活動で利用されている。 また、健康情報学や出所情報を表すアプリケーションなどにも使われている。 他にも Activity Streams という、潜在的・完了済みの行動に関する情報のやりとりのためのフォーマットの基礎でもあり、 分散型 SNS プロトコルである ActivityPub で利用されている。 さらに、モノのインターネット (IoT) の文脈でも利用され、JSON-LD ドキュメントである Thing Description では、ネットワークに面した IoT デバイスのインターフェースを表現するのに利用される。 Hypertext Application Language ^ “JSON-LD Syntax 1.1” (2010年7月16日). 2020年12月10日閲覧。 ^ “On Using JSON-LD to Create Evolvable RESTful Services”. 2023年11月9日閲覧。, M. Lanthaler and C. Gütl in Proceedings of the 3rd International Workshop on RESTful Design (WS-REST 2012) at WWW2012. ^ “JSON for Linking Data Community Group”. json-ld.org. 2023年11月9日閲覧。 ^ JSON-LD 1.0, A JSON-based Serialization for Linked Data, W3C Recommendation 16 January 2014, (2014-01-16), https://www.w3.org/TR/2014/REC-json-ld-20140116/ 2020年12月10日閲覧。  ^ “RDF Working Group”. w3.org. 2023年11月9日閲覧。 ^ “JSON-LD Working Group”. w3.org. 2023年11月9日閲覧。 ^ “Linked Data Patterns, Chapter 5: Follow Your Nose” (2023年6月7日). 2023年6月7日閲覧。 ^ “Data Model” (英語). Schema.org. 2018年6月20日閲覧。 ^ “Understanding structured data”. Bendev Junior. 2023年11月9日閲覧。 ^ “Method Entities in Search” (英語). Google Developers. 2017年10月17日閲覧。 ^ Xin, Jiwen; Afrasiabi, Cyrus; Lelong, Sebastien; Adesara, Julee; Tsueng, Ginger; Su, Andrew I.; Wu, Chunlei (2018-02-01). “Cross-linking BioThings APIs through JSON-LD to facilitate knowledge exploration”. BMC Bioinformatics 19 (1): 30. doi:10.1186/s12859-018-2041-5. PMC 5796402. PMID 29390967. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5796402/.  ^ Huynh, Trung Dong; Michaelides, Danius T.; Moreau, Luc (2016) (英語), PROV-JSONLD: A JSON and Linked Data Representation for Provenance, Lecture Notes in Computer Science, 9672, Springer International Publishing, pp. 173–177, doi:10.1007/978-3-319-40593-3_15, ISBN 9783319405926, https://eprints.soton.ac.uk/395985/1/prov-jsonld-poster-abs.pdf  ^ Prodromou, Evan (May 2017). “Activity Streams 2.0”. W3C Recommendation. https://www.w3.org/TR/2017/REC-activitystreams-core-20170523/.  ^ Tallon, Jessica (Jan 2018). “ActivityPub”. W3C Recommendation. https://www.w3.org/TR/2018/REC-activitypub-20180123/.  ^ “Web of Things (WoT) Thing Description, W3C Proposed Recommendation”. www.w3.org. 2020年3月26日閲覧。 JSON-LD.org