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.

Див. також

  • Hypertext Application Language[en]
  • Формат графа JSON

Примітки

  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.

Посилання

  • JSON-LD.org
  • п
  • о
  • р
Основи
Розділи
Пов'язані дані[en] · Data Web · Гіпердані[en] · База правил[en] · Простори даних[en]
Застосування
Аналіз тональності тексту · Семантична вікі · Семантичний брокер[en] · Семантична аналітика[en]
Стандарти
Синтаксис: RDF (RDF/XML[en] · Нотація 3[en] · Turtle[en] · N-Triples[en]) · SPARQL · URI · HTTP · XML · XSD ·· Схеми, онтології : RDFS[en] · OWL · Rule Interchange Format · Semantic Web Rule Language[en] · Common Logic[en] · schema.org ·· Семантичне анотування : RDFa · eRDF[en] · GRDDL · Мікроформат (μF) · Мікродані Словники : FOAF · SIOC[en] · Дублінське ядро · SKOS[en] · UMBEL[en] ·· Історія: Семантична верстка#Історія · DAML+OIL[en]
Люди
Тім Бернерс-Лі · Джеймс Гендлер[en] · Ора Лассіла[en] · Найджел Шедболт[en] · Венді Голл[en]
Основні організації
W3C · Web Science Trust[en] · MIT · OpenLink Software · Talis Group[en] · Університет Саутгемптона · ClearForest[en] · DERI[en]
Пов'язане
  • п
  • о
  • р
Офісних документів
Загальнопоширені
HTML · XHTML · MathML · JSON · RTF · TeX · LaTeX · Markdown
Менш відомі
AsciiDoc · CML · C-HTML · ConTeXt[en] · Crossmark[en] · DITA · DocBook · EAD[en] · Enriched text[en] · FHTML · GML[en] · GuideML[en] · HDML · HyTime[en] · HyperTeX · IPF[en] · LilyPond · LinuxDoc[en] · MIF · MAML[en] · MEI[en] · MusicXML · OMDoc[en] · OpenMath[en] · POD · RTML[en] · RTML[en] · RFT[en] · S1000D[en] · FictionBook · TEI · Texinfo[en] · Textile · troff[en] · Вікірозмітка · WML · WapTV[en] · XAML · YAML · Z Format