首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检索所有相邻节点,其中节点为特定类型且至少有一个不是特定三元组的主题

检索所有相邻节点,其中节点为特定类型且至少有一个不是特定三元组的主题
EN

Stack Overflow用户
提问于 2017-08-05 00:03:54
回答 1查看 141关注 0票数 2

我有一个SPARQL查询,旨在检索一个特定类的所有实例,这些实例与另一个特定类的实例相邻。例如:

代码语言:javascript
复制
SELECT ?origin ?dependent WHERE {
  ?origin a :type1 . 
  ?origin ?somePredicate ?dependent. 
  ?dependent a :type2 .
}

假设上面查询的结果如下所示:

代码语言:javascript
复制
?origin    ?dependent
node1      node3
node1      node4
node2      node5
node2      node6

因此,在本例中,有两个指定类型的节点同时连接到node1node2。现在,我想将结果限制为那些?dependent结果,其中这两个节点中至少有一个不是特定三元组的主题,但在只有一个节点具有三元组的情况下,仍然返回这两个节点。

假设图中存在以下三元组:

代码语言:javascript
复制
node4 :isSubjectOf :thisTriple .
node5 :isSubjectOf :thisTriple .
node6 :isSubjectOf :thisTriple .

让我们假设node3是节点3-6中唯一没有这个特定三元组的节点。现在,我想要编写一个查询,使我的结果集看起来像这样:

代码语言:javascript
复制
?origin    ?dependent
node1      node3
node1      node4

我希望我的问题表达得足够好,可以让人理解。有没有什么方便有效的SPARQL技术来完成这样的事情?如果可能的话,我更愿意避免使用FILTER

EN

回答 1

Stack Overflow用户

发布于 2017-08-05 00:29:42

这就是我对你的数据的设想:

代码语言:javascript
复制
@prefix ns0: <http://example.com/> .

<http://example.com/node1>
  a <http://example.com/type1> ;
  ns0:somePredicate ns0:node3, ns0:node4 .

ns0:node2
  a ns0:type1 ;
  ns0:somePredicate ns0:node5, ns0:node6 .

ns0:node3
  a ns0:type2 ;
  ns0:isSubjectOf ns0:thisTriple .

ns0:node4 a ns0:type2 .
ns0:node5 a ns0:type2 .
ns0:node6 a ns0:type2 .

这是一个可以得到你想要的东西的查询。可以在相同的主语和宾语之间创建不同的三元组模式,只要对绑定它们的谓词使用不同的变量名即可。

代码语言:javascript
复制
PREFIX  :     <http://example.com/>

SELECT  ?origin ?dependent
WHERE
  { ?origin   a                     :type1 ;
              ?somePredicate        ?dependent .
    ?dependent  a                   :type2 .
    ?origin   ?anyPred              ?theSubj .
    ?theSubj  :isSubjectOf          ?theTrip
  }

结果是:

代码语言:javascript
复制
+--------+-----------+
| origin | dependent |
+--------+-----------+
| :node1 | :node3    |
| :node1 | :node4    |
+--------+-----------+
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45511202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档