DBpedia中最常见的数据类型

时间:2017-05-09 08:03:17

标签: database sparql dbpedia

我需要知道DBpedia中哪些是最常见的数据类型。所以我问这样的查询Virtuoso:

SELECT datatype(?d) (COUNT(?d) as ?dCount)
WHERE
{
  ?s ?p ?d
}
GROUP BY ?d
ORDER BY DESC(?dCount)

我不确定查询是否正确,最重要的是,事务超时。我怎样才能得到答案或将我的研究空间缩小为“相关的东西”?或者,例如,当查询超时时,无论如何得到我的结果?

1 个答案:

答案 0 :(得分:2)

查询不正确。 您必须按数据类型分组,而不是字面值:

SELECT (datatype(?d) as ?dt) (COUNT(?d) as ?dCount)
WHERE
{
  ?s ?p ?d
  FILTER(isLiteral(?d))
}
GROUP BY datatype(?d)
ORDER BY DESC(?dCount)

查询可能仍会超时。

您可以将其限制为DBpedia的数据属性,即

SELECT (datatype(?d) as ?dt) (COUNT(*) as ?dCount)
WHERE
{
  ?p a owl:DatatypeProperty .
  ?s ?p ?d
}
GROUP BY datatype(?d)
ORDER BY DESC(?dCount)

但是你会错过具有http://dbpedia.org/property/命名空间属性的三元组。

备选方案:

  1. 将数据加载到本地功能更强大的服务器
  2. 只是使用DBpedia本体,尽管这可能不包含实例数据中使用的所有数据类型