我昨天开始自学SPARQL,并且正在针对dbpedia进行练习。我试图找回所有在指定目的地附近的两家俱乐部(即斯旺西和牛津)踢球的球员名单。我有以下查询,这工作,但速度很慢:优化SPARQL查询
SELECT ?player ?team ?team2
WHERE
{
:Swansea geo:geometry ?point1_1 .
?team dbpedia-owl:ground ?ground .
?ground geo:geometry ?point1_2 .
FILTER (bif:st_distance(?point1_1, ?point1_2) < 5)
?player dbpedia2:clubs ?team .
:Oxford geo:geometry ?point2_1 .
?team2 dbpedia-owl:ground ?ground2 .
?ground2 geo:geometry ?point2_2 .
FILTER (bif:st_distance(?point2_1, ?point2_2) < 5)
?player dbpedia2:clubs ?team2 .
}
我的问题是,在查询时DBpedia中的查询网页上运行很多时候,出(见http://tinyurl.com/d9pkluq)。有没有什么办法来优化这个查询?如果我进入更多的城镇,或者指定更大的半径进行搜索,我仍然希望它在dbpedia的查询页面中不超时运行。
感谢您提供任何帮助!
由于DBPedia得到了一个更成熟的商店的支持,所以你希望他们的优化器是合理的,但是对于一般性的忠告建议是+1,但仍然有很多商店没有/次优化器 – RobV 2011-12-15 00:59:39