JSON-LD
拡張子 | .jsonld |
---|---|
MIMEタイプ | application/ld+json |
種別 | Semantic Web |
包含物 | Linked Data |
派生元 | JSON |
国際標準 | JSON-LD 1.1 / JSON-LD 1.1 API |
ステータス | W3C Recommendation |
---|---|
開始年 | 2010 |
編集者 |
編集者
以前の編集者
|
著者 | Manu Sporny, Dave Longley, Gregg Kellogg, Markus Lanthaler, Niklas Lindström |
元になった標準 | |
ドメイン | Semantic Web, Data Serialization |
略称 | JSON-LD |
ウェブサイト |
JSON-LD (JavaScript Object Notation for Linked Data) は JSON を利用して Linked Data を表現する手法である。JSON-LD の目標のひとつは、開発者が既存の JSON を JSON-LD に変換する際の労力をできる限り減らすことであった。[1] JSON-LD は従来の JSON と同様の方法でデータをシリアライズすることができる。[2] 当初は JSON for Linked Data Community Group によって開発されていた[3]が、その後、評価・改善・標準化のため[4]に RDF Working Group に移され[5]、現在は JSON-LD Working Group によってメンテナンスされている。[6] 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 として知られている。[7]
この例のようにすべてのデータに意味論的な注釈を付けることによって、RDF プロセッサはドキュメントが人物 (@type
) についての情報を含むことを識別することができ、プロセッサが FOAF 語彙を理解する場合にどのプロパティがその人物の name や homepage を指定しているのか判断することができる。
事例
[編集]この記法は Schema.org[8]、 Google Knowledge Graph[9]、[10] で主に検索エンジン最適化活動で利用されている。 また、健康情報学[11]や出所情報を表すアプリケーションなどにも使われている。[12] 他にも Activity Streams という、潜在的・完了済みの行動に関する情報のやりとりのためのフォーマットの基礎でもあり、[13] 分散型 SNS プロトコルである ActivityPub で利用されている。[14] さらに、モノのインターネット (IoT) の文脈でも利用され、JSON-LD ドキュメントである Thing Description[15] では、ネットワークに面した 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) 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 .
- ^ 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
- ^ Prodromou, Evan (May 2017). “Activity Streams 2.0”. W3C Recommendation .
- ^ Tallon, Jessica (Jan 2018). “ActivityPub”. W3C Recommendation .
- ^ “Web of Things (WoT) Thing Description, W3C Proposed Recommendation”. www.w3.org. 2020年3月26日閲覧。