【发布时间】:2020-11-05 10:59:00
【问题描述】:
我想使用 dbpedia (http://live.dbpedia.org/sparql) 计算轻小说 (Light_novels) 的维基百科页面长度历史的方差(或标准差)。
SPARQL 在这里:
PREFIX dbpedia0: <http://dbpedia.org/ontology/>
PREFIX term: <http://purl.org/dc/terms/>
SELECT DISTINCT ?item ((SUM((?n - ?mean)*(?n - ?mean)))/(COUNT(?n) - 1) AS ?variance)
WHERE
{
?item term:subject dbc:Light_novels .
?item dbpedia0:wikiPageLength ?n
{
SELECT ?item (AVG(?n) AS ?mean) WHERE {
?item dbpedia0:wikiPageLength ?n .
}
}
}
这会产生错误Virtuoso 37000 Error SP031: SPARQL compiler: The name ?n is used in multiple clauses, without any logical connection
我无数次尝试盲目地修改代码,但最终不知道如何实现。
非常感谢您的帮助。谢谢。
【问题讨论】:
-
在dbpedia.org/sparql为我工作
-
您可以在live.dbpedia.org/sparql 上禁用标志“严格检查 void 变量”和“严格检查多个子句中使用但没有逻辑连接的变量名” - 我的意思是,字面意思是你的错误说。
-
出于效率原因,我还将
?item term:subject dbc:Light_novels .放入子查询中。所以你最终会在内部和外部查询中拥有?item term:subject dbc:Light_novels . -
谢谢@UninformedUser 看起来错误问题已经解决了。但我仍然没有得到查询结果。你有什么想法吗?
-
您现在使用哪个端点?在dbpedia.org/sparql 中,
dbo:wikiPageLength的数据不存在。在live.dbpedia.org/sparql 中确实如此
标签: sparql semantic-web dbpedia