我需要知道DBpedia中哪些是最常见的数据类型。所以我问这样的查询Virtuoso:
SELECT datatype(?d) (COUNT(?d) as ?dCount)
WHERE
{
?s ?p ?d
}
GROUP BY ?d
ORDER BY DESC(?dCount)
我不确定查询是否正确,最重要的是,事务超时。我怎样才能得到答案或将我的研究空间缩小为“相关的东西”?或者,例如,当查询超时时,无论如何得到我的结果?
答案 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/
命名空间属性的三元组。