我試圖接收其標籤包含特定字符串的所有屬性。我用下面的查詢:使用Python的SPARQLwrapper將SPARQL查詢的HTTP錯誤500獲取到DBPedia端點
SELECT ?p ?l count(?p) as ?count WHERE {
?someobj ?p ?s .
?p a <http://www.w3.org/1999/02/22-rdf-syntax-ns#Property> .
?p <http://www.w3.org/2000/01/rdf-schema#label> ?l .
?l bif:contains "string" .
FILTER (lang(?l) = 'en').
FILTER (!isLiteral(?someobj)).
} ORDER BY DESC(?count) LIMIT 5
當issueing通過公共DBpedia的端點@http://dbpedia.org/sparql查詢,它的工作原理,並返回我想要的。然而,當我通過SPARQLWrapper一樣在我的Python腳本,我不斷收到:
File "E:\thesis\sem_web21.py", line 254, in findWord
results = sparql.query().convert()
File "build/bdist.linux-i686/egg/SPARQLWrapper/Wrapper.py", line 355, in query
return QueryResult(self._query())
File "build/bdist.linux-i686/egg/SPARQLWrapper/Wrapper.py", line 334, in _query
raise e
HTTPError: HTTP Error 500: SPARQL Request Failed
我曾嘗試變化的查詢,有和沒有計數和分類,有和沒有限制。我不斷收到HTTP 500。我不認爲這是端點不穩定,因爲我對同一腳本中的其他查詢沒有問題,它只會停止在此查詢中。
類似的查詢檢索對象正常工作(無論是在公共端點通過我的腳本):
SELECT ?s ?l count(?s) as ?count WHERE {
?someobj ?p ?s .
?s <http://www.w3.org/2000/01/rdf-schema#label> ?l .
?l bif:contains "computer" .
FILTER (!regex(str(?s), '^http://dbpedia.org/resource/Category:')).
FILTER (!regex(str(?s), '^http://dbpedia.org/resource/List')).
FILTER (!regex(str(?s), '^http://sw.opencyc.org/')).
FILTER (lang(?l) = 'en').
FILTER (!isLiteral(?someobj)).
} ORDER BY DESC(?count) LIMIT 20
任何想法可能是什麼造成的?或者任何想法如何我可以檢索一個更具體的錯誤?提前致謝。
大,僅此而已。現在工作正常,謝謝! – graus