2017-09-20 9 views
0

데이터를 Rumest를 통해 CumulusRDF에 삽입하려고합니다.CumulusRDF 업데이트 쿼리

문제가 : 간단한 질의 : 내가 쿼리를하고있어 경우는 GET 방식

예와 함께, 좋은 작품

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

GET 방법 :

curl -X GET --header 'Accept: application/sparql-results' 'http://localhost:9090/cumulus/sparql?query=select+*+where+%7B%3Fs+%3Fp+%3Fo.%7D&accept=text%2Fhtml' 

그러나 , 데이터를 삽입하려고하면 실패합니다.

검색어 :

PREFIX dc: <http://purl.org/dc/elements/1.1/> 
INSERT DATA 
{ 
    <http://example/book1> dc:title "Harry Potter". 
} 

POST 방법 :

curl -i -X POST -H 'Content-Type: application/sparql-query' 'http://localhost:9090/cumulus/sparql?query=PREFIX+dc%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E%0AINSERT+DATA%0A%7B+%0A++%3Chttp%3A%2F%2Fexample%2Fbook1%3E+dc%3Atitle+%22Harry+Potter%22.%0A%7D 

에로 : 내가 잘못 무엇

HTTP/1.1 400 Bad Request 

? CumulusRDF는 Apache Cassandra DB가있는 Docker에 설치되어 있습니다.

답변

3

SPARQL 쿼리는 업데이트가 아닙니다. 두 가지 언어가 있습니다.

HTTP 쿼리 문자열을 사용하는 경우 content-type은 부적합합니다. ?update=이어야합니다.

더 나은이는 HTTP 본문에 갱신 및

Content-Type: application/sparql-update

을 사용하여 게시하는 것입니다