获取每个属性的不同值的平均数

Obtain the average number of distinct values for each of the properties

我正在尝试使用 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 车手。

此外,除非您添加更多限制以减小匹配数据的大小,否则查询可能会超时。