JSON-LD (JavaScript Object Notation for Linked Data) — способ кодирования связанных данных с использованием JSON и сериализации данных в форме, похожей на традиционный JSON. Он разработан так, чтобы его было легко создавать путём изменения существующих JSON-документов. Это рекомендация Консорциума Всемирной паутины (W3C), которая сначала разрабатывалась группой сообщества JSON for Linking Data, затем была рассмотрена и стандартизирована рабочей группой RDF, а сейчас поддерживается рабочей группой JSON-LD.
Дизайн и контекст
JSON-LD опирается на идею контекста, который сопоставляет свойства JSON-объектов понятиям онтологии с помощью модели RDF. При переводе синтаксиса JSON-LD в RDF значения могут приводиться к заданному типу или снабжаться языковой меткой. Контекст может быть встроен непосредственно в JSON-LD-документ или храниться в отдельном файле, на который обычные JSON-документы ссылаются через заголовок HTTP Link.
Пример и связывание
Типичный пример описывает человека с использованием онтологии FOAF (friend of a friend). Свойства, такие как name, homepage и тип Person, сопоставляются понятиям FOAF, а значение homepage объявляется как IRI. Это позволяет однозначно идентифицировать человека, а разрешаемые IRI дают документам возможность ссылаться на дополнительные данные — принцип, известный как «Follow Your Nose» («следуй за своим носом»). Обработчик RDF, понимающий FOAF, может затем распознать этого человека и определить, какие свойства содержат имя и домашнюю страницу.
Применение
Schema.org и Google Knowledge Graph используют эту кодировку, которая в основном применяется для поисковой оптимизации. Также она использовалась в биомедицинской информатике и для представления информации о происхождении данных. На ней основан Activity Streams — формат обмена информацией о действиях, а также ActivityPub — федеративный протокол социальных сетей. В Интернете вещей описание Thing Description, написанное на JSON-LD, описывает обращённые к сети интерфейсы устройств.