【发布时间】:2017-04-21 04:41:00
【问题描述】:
我在自己的本体上编写了一个 SPARQL 查询,它给出了重复记录,为此我还使用了 group_concat,我的查询是
SELECT ?Movie (str(?y) as ?Rating) (group_concat (?z;separator=",") as ?Director)
{ ?Movie :rating ?y;
:directedBy ?z
FILTER regex(str(?Movie),'Fantastic_Four') }
GROUP BY ?y ?Movie
这个查询给了我想要的结果,但是 Director 的输出如下:
http://www.semanticweb.org/administrator/ontologies/2017/2/Ontology-Schema_Movie#Josh_Trank,http://www.semanticweb.org/administrator/ontologies/2017/2/Ontology-Schema_Movie#Joshua_Trank
我想知道为什么会出现整个 URI,如何删除它并在我的结果中只打印 Josh_Trank、Joshua_Trank?
【问题讨论】:
-
1.顺便说一句,
group_concat(distinct ?z; …)是一个相当合法的结构。 2. 虽然来自 AKSW 答案的变体 2 当然更可取,但您可能对afn:localnamealternative definition(或afn:localname本身)感兴趣。