2017-03-03 3 views
0

나는 그것은 잘 실행하고 http://localhost:7200/sparql 즉 GraphDB 워크 벤치에서 요구하는 결과를 생성
GraphDB- 파이썬 SPARQL 쿼리 반환 : HTTP 상태 (404)

select * where { 
    ?s ?p ?o . 
} limit 100 

SPARQL 쿼리 다음 실행하려합니다. 저도 같은 쿼리를 수행하는 파이썬을 사용하고자하는이를 위해 나는 GraphDB 인터페이스에서 "현재 쿼리에 URL 가져 오기"를 클릭하여 쿼리 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= 

나는이

파이썬 코드를 작성 시도
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과 Sparql을 사용하여 GraphDB를 쿼리하는 방법에 대한 지침을 얻을 수 있습니까?

+0

예제에서 두 URL이 일치하지 않습니다. – AKSW

+0

그래, 여기에 입력하는 동안 변경있어 ..하지만 원래는 모두 시도하는 동안 동일합니다 .. 의견을 주셔서 감사합니다 .. 여기에 오타를 편집했습니다 .. – vinay2k2

+0

당신은 [스파이럴 - 래퍼] (https : // rdflib. github.io/sparqlwrapper/), curl보다는 GraphDB를 쿼리하는 것이 훨씬 더 좋다 ... –

답변

1

GraphDB 데이터베이스는 각 RDF 저장소에 대한 SPARQL 엔드 포인트를 노출합니다. 올바른 SPARQL 엔드 포인트 주소는 저장소 이름 인터페이스 옆에있는 Setup> Repositories> 링크 아이콘 ("Copy Repository URL to Clipboard")에서 복사 할 수 있습니다.

귀하의 HTTP 요청을 보일 것 같은 다음 퍼센트의 repositoryID %의 값이 저장소의 ID입니다

http://localhost:7200/repositories/%repositoryID%?name=&infer=true&sameAs=false&query=select+*+where+%7B+%0A%09%3Fs+%3Fp+%3Fo+.%0A%7D+limit+100+%0A&execute= 

.