我昨天开始自学 SPARQL,我正在练习针对 dbpedia。我正在尝试检索在指定目的地(即斯旺西和牛津)附近的两个俱乐部踢球的所有足球运动员的列表。我有以下查询,该查询有效但速度很慢:
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 的查询页面中运行而不会超时。
感谢您的任何帮助,您可以提供!