如何解决在 SPARQL 查询中列出每个类旁边的实例
我想编写一个 SPARQL 查询,它会给我一个列表,其中包含特定类的所有子类和每个子类的所有实例。例如,如果我有类 Animal 和子类 Dog 和 Cat 以及 Dog 的实例:Fido、Bowser 和 Cat:Fluffy、Whiskers 我希望输出看起来像:
Dog Fido Bowser
Cat Fluffy Whiskers
SELECT ?class_label ?instance_label
WHERE {?anmlclass rdfs:subClassOf ex:Animal;
rdfs:label ?class_label.
?anml a ?anmlclass;
rdfs:label ?instance_label.}
但这给出了如下输出:
Dog Fido
Dog Bowser
有没有办法格式化结果,以便所有实例都显示在与相关类相同的行中?
解决方法
SELECT ?class_label (group_concat(?instance_label; separator=",") as ?instances)
WHERE {
?anmlclass
rdfs:subClassOf ex:Animal ;
rdfs:label ?class_label .
?anml
a ?anmlclass ;
rdfs:label ?instance_label
}
GROUP BY ?anmlclass
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。