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

标签 rdf sparql

我有如下的 RDF:

resource: r1 <dc:title>Mathematics</dc:title><dc:title>Chemistry</dc:title><dc:size>39</dc:size>
resource:r2 <dc:title>Biology</dc:title><dc:size>42</dc:size>

我有这个 SPARQL 查询来提取值:

PREFIX dc: <http://purl.org/dc/elements/1.1/> 
select distinct ?resource ?title ?size  where {
    ?resource dc:title ?title
    ?resource dc:size ?size
}

结果:

resource  title        size 
r1        Mathematics  39
r1        Chemistry    39
r2        Biology      42

但我想要得到以下结果:

resource  title                   size
r1        Mathematics, Chemistry  39
r2        Biology                 42

如何解决这个问题?

最佳答案

要获得资源组合组就可以了。这还允许您使用 GROUP_CONCAT 将标题调整为字符串(确切的顺序将取决于评估)。

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

而不是GROUP BY

关于rdf - 选择(组合)多个属性值 - SPARQL/RDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22584124/

相关文章:

php - 解析RDF XML文件得到所有rdf :about values

rdf - 解析模型后 Redland RDF 中 RDF 节点的生命周期?

uri - 将 URI 分配给 RDF 资源

sparql - 数据库百科/sparql : get population & lat/lng of all cities/towns/villages in UK

java - 在java中将DBPedia SPARQL结果写入RDF文件

sparql - 维基数据的重复结果

rdf - 查询 DBpedia 以获取仅英文描述(使用 SPARQL)

sparql - 使用 SPARQL UPDATE 添加个人的推荐方法是什么?

sparql - 为什么可选绑定(bind)不起作用

java - 在java中使用哪种设计模式来处理不同的文件?