选择(组合)多个属性值-SPARQL/RDF

选择(组合)多个属性值-SPARQL/RDF,rdf,sparql,Rdf,Sparql,我的RDF如下所示: 资源:r1 MathematicsSchemestry39 资源:r2生物学42 我使用SPARQL查询来提取值: 前缀dc: 选择不同的?资源?标题?大小,其中{ ?资源dc:标题?标题 ?资源dc:大小?大小 } 结果: resource title size r1 Mathematics 39 r1 Chemistry 39 r2 Biology 42 但我想得到以下结果: resou

我的RDF如下所示:

资源:r1 MathematicsSchemestry39
资源:r2生物学42
我使用SPARQL查询来提取值:

前缀dc:
选择不同的?资源?标题?大小,其中{
?资源dc:标题?标题
?资源dc:大小?大小
}
结果:

resource  title        size 
r1        Mathematics  39
r1        Chemistry    39
r2        Biology      42
但我想得到以下结果:

resource  title                   size
r1        Mathematics, Chemistry  39
r2        Biology                 42

如何解决此问题?

获取?资源组合组。这还允许您使用
GROUP_CONCAT
将标题转换为字符串(确切顺序取决于评估)

而不是
groupby

在可能的重复处复制(并回答)。在这种情况下,您只需
select?resource group_concat(?title;separator=','){…}group by?resource?size
PREFIX dc: <http://purl.org/dc/elements/1.1/> 
select ?resource ?size (GROUP_CONCAT(?title) AS ?titles) where {
    ?resource dc:title ?title
    ?resource dc:size ?size
} GROUP BY ?resource ?size
ORDER BY ?resource ?size ?title