如何使用SPARQL查询生成适合特定节点类型或/和边缘类型的所有三元组?

时间:2014-06-13 03:08:21

标签: graph rdf sparql jena fuseki

这是一个后续问题:

How to list and count the different types of node and edge entities in the graph data using SPARQL query?

假设我拥有给定图形的不同节点实体和边缘实体,在给定节点边缘节点模式的情况下,如何列出所有三元组?如何在给定节点和边缘实体的情况下生成所有节点边缘节点模式?

示例:如果有一个由论文(节点),作者(节点),会议(节点)组成的网络,由(边缘),ispublishedin(edge),presentin(edge)等构成,我可以有节点实体类型:论文作者会议和边缘实体类型:iswrittenby,ispublishedin,presentsin等

我现在要做的是生成以下模式:

1)纸张(节点) - 由(边缘) - 作者(节点)写入 2)纸张(节点)-iscitedby(edge)-paper(节点) 等等... 然后从满足这些模式的数据集中生成所有三元组。

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找的是

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

spec section on construct queries可能是一个有用的参考。