JSON-LD

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

JSON-LD (JavaScript Object Notation for Linked Data) — це метод кодування зв’язаних даних[en] за допомогою JSON. Однією з цілей JSON-LD було вимагати від розробників якомога менше зусиль для перетворення наявного JSON у JSON-LD.[1] JSON-LD дозволяє серіалізувати дані способом, подібним до традиційного JSON.[2] Спочатку він був розроблений Групою спільноти JSON для зв'язування даних[3], а потім був переданий Робочій групі RDF[4] для перегляду, вдосконалення та стандартизації[5], і в даний час підтримується Робочою групою JSON-LD.[6] JSON-LD — це рекомендація консорціуму World Wide Web.

Дизайн[ред. | ред. код]

JSON-LD розроблено навколо концепції «контексту», щоб забезпечити додаткові відображення від JSON до моделі RDF. Контекст пов'язує властивості об'єкта в документі JSON з поняттями в онтології. Щоб зіставити синтаксис JSON-LD з RDF, JSON-LD дозволяє прив'язувати значення до певного типу або позначати тегами мовою. Контекст можна вставити безпосередньо в документ JSON-LD або помістити в окремий файл і посилатися на нього з різних документів (з традиційних документів JSON через заголовок посилання HTTP).

Приклад[ред. | ред. код]

{
  "@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. По-перше, два властивості JSON, name і homepage, і тип Person зіставляються з поняттями у словнику FOAF, а значення властивості homepage вказується як тип @id, тобто вказується як IRI[en] в контексті визначення. На основі моделі RDF це дає змогу IRI однозначно ідентифікувати особу, описану в документі. Використання роздільних IRI дозволяє включати документи RDF, що містять більше інформації, що дозволяє клієнтам відкривати нові дані, просто перейшовши за цими посиланнями; цей принцип відомий як «Сліди за своїм носом».[7]

Маючи всі дані, семантично анотовані, як у прикладі, процесор RDF може визначити, що документ містить інформацію про особу (@type), і якщо обробник розуміє словниковий запас FOAF, він може визначити, які властивості визначають ім'я та домашню сторінку особи.

Використання[ред. | ред. код]

Кодування використовується Schema.org,[8] Google Knowledge Graph[9] і використовується переважно для пошукової оптимізації. Воно також використовувався для таких застосувань, як біомедична інформатика[10] і представляє інформацію про походження.[11] Воно також є основою Activity Streams, формату для «обміну інформацією про потенційні та завершені дії»,[12] і використовується в ActivityPub, федеративному протоколі соціальних мереж.[13] Крім того, воно використовується в контексті Інтернету речей (IoT), де опис речі[14], який є документом JSON-LD, описує мережеві інтерфейси пристроїв IoT.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. JSON-LD Syntax 1.1. 16 липня 2010. Процитовано 10 грудня 2020.
  2. 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.
  3. JSON for Linking Data Community Group. json-ld.org.
  4. RDF Working Group. w3.org.
  5. JSON-LD 1.0, A JSON-based Serialization for Linked Data, W3C Recommendation 16 January 2014, 16 січня 2014, процитовано 10 грудня 2020
  6. JSON-LD Working Group. w3.org.
  7. Linked Data Patterns, Chapter 5: Follow Your Nose. 27 грудня 2011. Процитовано 30 грудня 2011.
  8. Data Model. Schema.org (англ.). Процитовано 20 червня 2018.
  9. Method Entities in Search. Google Developers (англ.). Процитовано 17 жовтня 2017.
  10. Xin, Jiwen; Afrasiabi, Cyrus; Lelong, Sebastien; Adesara, Julee; Tsueng, Ginger; Su, Andrew I.; Wu, Chunlei (1 лютого 2018). 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.{{cite journal}}: Обслуговування CS1: Сторінки із непозначеним DOI з безкоштовним доступом (посилання)
  11. Huynh, Trung Dong; Michaelides, Danius T.; Moreau, Luc (2016), PROV-JSONLD: A JSON and Linked Data Representation for Provenance (PDF), Lecture Notes in Computer Science (англ.), Springer International Publishing: 173—177, doi:10.1007/978-3-319-40593-3_15, ISBN 9783319405926
  12. Prodromou, Evan (May 2017). Activity Streams 2.0. W3C Recommendation — через W3C.
  13. Tallon, Jessica (Jan 2018). ActivityPub. W3C Recommendation — через W3C.
  14. Web of Things (WoT) Thing Description, W3C Proposed Recommendation. www.w3.org. Процитовано 26 березня 2020.

Посилання[ред. | ред. код]