Преобразование JSON-LD в компактную форму — Numio
Сжимает (compaction) документ JSON-LD по заданному вами контексту с помощью jsonld.compact. Полные IRI превращаются в ваши термины или имена вида prefix:suffix, а массивы из одного элемента сворачиваются в простые значения.
Превратить громоздкий развёрнутый JSON-LD из RDF-инструмента в короткие читаемые ключи, заданные вашим контекстом.
Когда пригодится
- Превратить громоздкий развёрнутый JSON-LD из RDF-инструмента в короткие читаемые ключи, заданные вашим контекстом.
- Проверить перед публикацией, что контекст сопоставляет ожидаемые IRI.
Как пользоваться
- Вставьте документ (развёрнутый или с любым контекстом) в редактор JSON-LD.
- Поместите целевой контекст в редактор Context в виде объекта с ключом @context.
- Изучите результат: контекст помещается в начало, а свойства используют его термины.
JSON-LD + контекст
// JSON-LD editor
{
"@id": "http://example.org/book/1",
"@type": "http://schema.org/Book",
"http://schema.org/name": "Dune",
"http://schema.org/author": {"@id": "http://example.org/frank-herbert"},
"http://schema.org/datePublished": {"@value": "1965", "@type": "http://www.w3.org/2001/XMLSchema#gYear"}
}
// Context editor
{"@context": {"schema": "http://schema.org/", "title": "schema:name",
"author": {"@id": "schema:author", "@type": "@id"}}}Сжатый JSON-LD
{
"@context": {
"schema": "http://schema.org/",
"title": "schema:name",
"author": {
"@id": "schema:author",
"@type": "@id"
}
},
"@id": "http://example.org/book/1",
"@type": "schema:Book",
"author": "http://example.org/frank-herbert",
"schema:datePublished": {
"@type": "http://www.w3.org/2001/XMLSchema#gYear",
"@value": "1965"
},
"title": "Dune"
}Подробности и ограничения
Свойства без подходящего термина используют префикс, если он определён (schema:datePublished); иначе сохраняют полный IRI.
Термин с "@type": "@id" позволяет сжимать ссылки до простых строк, как author выше.
Работает в браузере с jsonld.js. Оба редактора должны содержать корректный JSON; удалённые URL контекстов загружает ваш браузер. Если загрузка не удалась, страница показывает ошибку с URL контекста.
FAQ
Почему типизированное значение осталось объектом?
Значение с @type (как дата xsd:gYear) остаётся {"@type", "@value"}, если контекст не определяет для этого свойства термин с тем же @type.
Может ли редактор Context содержать URL?
Да, в виде {"@context": "https://..."}. Его загружает браузер, поэтому сервер должен разрешать кросс-доменные запросы; встроенные контексты этого не требуют.
Меняет ли сжатие данные?
Нет. Сжатие меняет только запись IRI и значений; развёртывание результата даёт тот же граф.