SPAQRL:选择项目并计算其标签的出现次数
我有<一个href="https://www.orkg.org/orkg/triplestore?query=%0APREFIX%20orkgr%3A%20%3Chttp%3A%2F%2Forkg.org%2F orkg%2Fresource%2F%3E%0APREFIX%20orkgc%3A%20%3Chttp%3A%2F%2Forkg.org%2Forkg%2Fclass%2F%3E%0APREFIX%20 orkgp%3A%20%3Chttp%3A%2F%2Forkg.org%2Forkg%2Fpredicate%2F%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fww w.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0APREFIX%20xsd%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSc hema%23%3E%0APREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0A%0A SELECT%20%3Fo1Label%20(COUNT(%3Fo1Label)%20AS%20%3Fo1LabelCount)%0AWHERE%20%7B%0A%20%20%3Fo1%20a%20或kgc%3APaper.%0A%20%20%3Fo1%20rdfs%3Alabel%20%3Fo1Label.%0A%20%20%0A%20%20FILTER%20(strlen(%3Fo1Label )%20%3E%201).%0A%20%20%0A%7D%0A%0AGROUP%20BY%20%3Fo1Label%0AORDER%20BY%20DESC(%3Fo1LabelCount)%0A%0A" rel="nofollow noreferrer">此 SPARQL 查询 定向到开放研究知识图 (ORKG):
PREFIX orkgr: <http://orkg.org/orkg/resource/>
PREFIX orkgc: <http://orkg.org/orkg/class/>
PREFIX orkgp: <http://orkg.org/orkg/predicate/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?o1Label (COUNT(?o1Label) AS ?o1LabelCount)
WHERE {
?o1 a orkgc:Paper.
?o1 rdfs:label ?o1Label.
FILTER (strlen(?o1Label) > 1).
}
GROUP BY ?o1Label
ORDER BY DESC(?o1LabelCount)
结果是标签 (?o1Label
) 以及该标签出现的次数 (<代码>?o1LabelCount)。
如何扩展此查询以包含实际项目的列 (?o1
)?
由于可能有多个候选项(当 o1LabelCount
> 1 时),因此每个项目都应占一行(具有相同的标签和相同的标签计数)。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我看到两个选择:
第一个(可能更好)是使用
GROUP_CONCAT< /code>
并将实体收集到一个字段中,以便在应用程序端再次解析。这可能看起来像这样(链接):
另一种方法是使用 嵌套查询并收到您所描述的结果(链接):
I see two options:
First (and probably better) is to use
GROUP_CONCAT
and collect the entities into one field to be parsed again on application side. this could look like this (link):An alternative would be using nested queries and receive a result as you described (link):