sparql - 获取每个属性的不同值的平均数量
问题描述
我正在尝试使用 SPARQL 查询来执行此操作:
对于每个属性,获取它们为实例采用的不同值的平均数量(例如,一级方程式车手的平均职业数量是多少,他们参加的平均团队数量是多少等。 )
解决方案
您需要这样的查询:
SELECT ?p (AVG(?ct) AS ?avg)
WHERE {
SELECT ?s ?p (COUNT(DISTINCT ?o) AS ?ct)
WHERE {
?s ?p ?o .
#more restrictions...
}
GROUP BY ?s ?p }
GROUP BY ?p
请注意,这种方法忽略了计数为 0 的情况,即没有职业的 F1 车手。
此外,除非您添加更多限制以减小匹配数据的大小,否则查询可能会超时。
推荐阅读
- python - 无法提供静态文件
- sql - 使用交叉应用扩展表
- gcc - 将静态库链接到 cmake 中的对象
- python - 没有从前一个函数传递变量
- pytorch - DataCollatorForMultipleChoice 在 trainer.train 中给出 KeyError: 'labels'
- makefile - 如何过滤包含特定模式的字符串(文件路径)
- typescript - React-Testing-Library - MatchingFunction 解释为字符串
- javascript - 列出用户在 Google Drive V3 API 中具有写入权限的所有文件夹
- reactjs - 带有打字稿的 Next.js - useContext 错误
- python - 如何反转一对多(外键)关系?