首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SPARQL分组

SPARQL分组
EN

Stack Overflow用户
提问于 2015-09-02 05:12:52
回答 1查看 1.3K关注 0票数 2

在SPARQL中,我可以使用GROUP BY列出一个组吗?

现在,我的查询返回:

代码语言:javascript
复制
?p       ?p2
----------------
abc      zza
abc      zba
abc      zdf
bcd      zbc
bcd      zef
bcd      zhr
bcd      zfe
cde      zop
cde      zzz

我使用的查询是:

代码语言:javascript
复制
PREFIX  bo:  <https://webfiles.uci.edu/jenniyk2/businessontology#>
PREFIX   v:  <http://www.w3.org/2006/vcard/ns#>  
SELECT DISTINCT ?p ?p2 
WHERE
  { 
    ?p   v:hasAddress  ?ad  . 
    ?p2  v:hasAddress  ?ad  . 
      FILTER( ?p != ?p2 )
  }

有什么办法能让我把它还回去吗?

代码语言:javascript
复制
?p       ?p2
---------------
abc      zza
         zba
         zdf
bcd      zbc
         zef
         zhr
         zfe
cde      zop
         zzz

代码语言:javascript
复制
?p
-------------------
abc zza zba zdf
bcd zbc zef zhr zfe
cde zop zzz
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-02 05:47:32

像这样的事情应该能起作用:

代码语言:javascript
复制
PREFIX bo:<https://webfiles.uci.edu/jenniyk2/businessontology#>
PREFIX v: <http://www.w3.org/2006/vcard/ns#>  

SELECT DISTINCT (GROUP_CONCAT(?p2; SEPARATOR=" ") AS ?p)
WHERE { 
    ?p1 v:hasAddress ?ad. 
    ?p2 v:hasAddress ?ad. 
} GROUP BY ?p1
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32345059

复制
相关文章

相似问题

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