Перейти к содержимому

Конвертировать JSON-LD в N-Quads — Numio

Преобразует JSON-LD в RDF в формате N-Quads с помощью jsonld.toRDF. Каждое утверждение становится строкой из субъекта, предиката, объекта (и имени графа для именованных графов); узлы без @id становятся пустыми узлами, например _:b0.

Загрузить структурированные данные JSON-LD в triple store или RDF-библиотеку, импортирующую N-Quads.

JSON-LD

N-Quads

Когда пригодится

  • Загрузить структурированные данные JSON-LD в triple store или RDF-библиотеку, импортирующую N-Quads.
  • Точно увидеть, какие RDF-тройки поисковые системы или RDF-инструменты извлекут из вашего JSON-LD.

Как пользоваться

  1. Вставьте документ JSON-LD в редактор JSON-LD.
  2. Изучите вывод N-Quads: @type становится тройкой rdf:type, а вложенные объекты — связанными пустыми узлами.
  3. Скопируйте строки в файл .nq.

JSON-LD

{
  "@context": {"@vocab": "http://schema.org/"},
  "@type": "Person",
  "name": "Jane Doe",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Seattle"
  }
}

N-Quads

_:b0 <http://schema.org/address> _:b1 .
_:b0 <http://schema.org/name> "Jane Doe" .
_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Person> .
_:b1 <http://schema.org/addressLocality> "Seattle" .
_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/PostalAddress> .

Подробности и ограничения

Метки пустых узлов (_:b0, _:b1) назначаются при преобразовании и не являются каноническими; если нужны стабильные метки, используйте страницу нормализации.

Тройки находятся в графе по умолчанию, поэтому у строк нет четвёртого элемента; именованные графы (@graph с @id) добавляют IRI графа.

Работает в браузере с jsonld.js; удалённый @context, например https://schema.org/, загружает ваш браузер. Если загрузка не удалась, страница показывает ошибку с URL контекста.

FAQ

Является ли вывод N-Quads корректным N-Triples?

Если всё находится в графе по умолчанию, как здесь, каждая строка также является корректным N-Triples. Данные в именованных графах получают столбец графа, который N-Triples не допускает.

Как записываются простые строки и числа?

Строки становятся простыми литералами, например "Jane Doe"; целые и дробные числа JSON и булевы значения становятся типизированными литералами: "3"^^xsd:integer, "1.5E0"^^xsd:double и "true"^^xsd:boolean (с полными IRI).

Почему некоторые ключи отсутствуют?

Тройки дают только ключи, которые разворачиваются в IRI через @context; неопределённые термины отбрасываются.

Спецификации и справка