Как сгенерировать все тройки, которые соответствуют определенному типу узла и / или типу ребра, используя запрос SPARQL?

Это следующий вопрос:

Как составить список и подсчитать различные типы узловых и граничных объектов в данных графика, используя запрос SPARQL?

Итак, предполагая, что у меня есть разные сущности узлов и граничные сущности данного графа, как мне составить список всех троек, учитывая шаблон узел-ребро-узел? И как мне сгенерировать ВСЕ узлы узел-ребро-узел с учетом сущности узла и ребра?

Пример: если есть сеть, состоящая из статей (узлов), авторов (узлов), конференций (узлов), написанных (край), опубликованных (край), представленных (край) и т. Д., У меня будет тип объекта узла: статьи авторов конференций и по типу краевого объекта: написано, опубликовано, представлено и т. д.

То, что я хочу сделать сейчас, это генерировать шаблоны, такие как:

1) paper (node) -iswrittenby (edge) -author (node) 2) paper (node) -iscitedby (edge) -paper (node) и т. Д.... и затем сгенерировать все тройки из набора данных, которые удовлетворяют этим шаблонам,

1 ответ

Решение

Я думаю, что вы ищете

construct {   
  ?paper :isWrittenBy ?author .
  ?paper :isCitedBy ?paper2
}
where {
  ?paper :isWrittenBy ?author .
  ?paper :isCitedBy ?paper2
}

Раздел спецификации по запросам конструкции может быть полезной ссылкой.

Другие вопросы по тегам