我昨天開始自學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