Как извлечь и удалить дерево JSON-LD из тройного хранилища с помощью SPARQL? - PullRequest
1 голос
/ 26 июня 2019

Мне нужно сохранить и удалить деревья JSON-LD в тройном хранилище.Эти деревья часто имеют поддеревья, которые представлены как пустые узлы.Их легко преобразовать в RDF и использовать SPARQL для их сохранения.Но когда мне нужно получить / удалить их, невозможно получить все пустые узлы.Я использую следующий запрос, чтобы получить все пустые узлы (но только до 3 уровней):

CONSTRUCT {
   <instanceURI> ?p ?o.
   ?o ?p1 ?o1.
   ?o1 ?p2 ?o2.
}
WHERE {
   <instanceURI> ?p ?o.
   OPTIONAL {
      FILTER (isBlank(?o))
      ?o ?p1 ?o1.
      OPTIONAL {
         FILTER (isBlank(?o1))
         ?o1 ?p2 ?o2.
      }
   }
}

В другом вопросе ( Как рекурсивно развернуть пустые узлы в запросе конструкции SPARQL? ) они предлагают использовать DESCRIBE.Но DESCRIBE возвращает больше вещей, чем я хочу.Могу ли я сделать подзапрос к графу DESCRIBE возвращает?Если да, то как?

Этот вариант использования (извлечение / удаление экземпляров JSON-LD с произвольными пустыми узлами) кажется очень распространенным для людей, работающих с JSON-LD.Решение для этого не должно быть трудным для реализации.Я делаю что-то неправильно?Есть ли стандартный способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...