【发布时间】:2013-08-23 15:56:32
【问题描述】:
我是语义网概念的新手,并且我有一份基于语义网的文凭工作。在我的 OWL 本体中,我以下列方式定义了个体:
<Announce rdf:ID="Ann1" ...>
<...>
<...>
<requiredTechnologies>
<Technology rdfs:resource="tech1"/>
</requiredTechnologies>
<requiredTechnologies>
<Technology rdfs:resource="tech2"/>
</requiredTechnologies>
</Announce>
...
基本上,有些属性对于给定的个人只出现一次,但属性“所需技术”可以在一个记录中多次使用(对于一个人)。因此,当我运行 SPARQL 查询并选择所有数据(我使用 Jena)时,我会得到以下输出:
=====================================
| "Ann1" | ... | ... | "tech1" |
| "Ann1" | ... | ... | "tech2" |
| "Ann2" | ... | ... | "tech3" |
| "Ann3" | ... | ... | "tech4" |
| "Ann3" | ... | ... | "tech5" |
| "Ann3" | ... | ... | "tech6" |
| ... | ... | ... | ... |
=====================================
存在多个“requiredTechnologies”属性的记录不止出现一次。我的问题是如何在一行中获取属于给定个人的所有技术(类似这样):
===================================================
| "Ann1" | ... | ... | "tech1, tech2" |
| "Ann2" | ... | ... | "tech2" |
| "Ann3" | ... | ... | "tech4, tech5, tech6" |
| ... | ... | ... | ... |
===================================================
SPARQL 中有没有办法在列表中获取多个属性?还是有其他解决方法?
【问题讨论】:
-
Aggregating results from SPARQL query 的可能重复项。今天早上也有人问了另一个类似的问题(但正在寻找 JSON 输出):Returning object oriented json from sparql queries。
-
没问题;这是一个很好的问题,在你知道答案之前很难知道要搜索什么。
标签: sparql semantic-web owl