Я пытаюсь выполнить следующий запрос Sparql
select * where {
?s ?p ?o .
} limit 100
Он работает хорошо и дает результат, который требуется в http://localhost:7200/sparql, то есть в GraphDB Workbench. Я хотел бы использовать python для выполнения того же запроса, и для этого я создал следующий URL-адрес запроса, щелкнув «Получить URL-адрес текущего запроса» в интерфейсе GraphDB.
http://localhost:7200/sparql?name=&infer=true&sameAs=false&query=select+*+where+%7B+%0A%09%3Fs+%3Fp+%3Fo+.%0A%7D+limit+100+%0A&execute=
Я пробовал писать код Python для этого
import pycurl
from StringIO import StringIO
url="http://localhost:7200/sparql?name=&infer=true&sameAs=false&query=select+*+where+%7B+%0A%09%3Fs+%3Fp+%3Fo+.%0A%7D+limit+100+%0A&execute="
response_buffer = StringIO()
curl = pycurl.Curl()
curl.setopt(curl.URL,url)
curl.setopt(curl.USERPWD, '%s:%s' % (' ' , ' '))
curl.setopt(curl.WRITEFUNCTION, response_buffer.write)
curl.perform()
curl.close()
response_value = response_buffer.getvalue()
print response_value
Однако это возвращает: Ошибка - статус http (404) - Нет сообщения, посмотрите журналы сервера для получения дополнительной информации.
Нужно ли мне делать какие-либо дополнительные настройки для запроса GraphDB в Python. Могу ли я получить руководство о том, как запрашивать GraphDB с помощью Python и Sparql?