2017-09-20 16 views
0

私はCumulusRDFをREST経由でデータを挿入しようとしています。CumulusRDF更新クエリ

問題:単純なクエリ:

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

GETメソッド:私は、クエリをやっている場合は、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クエリは更新ではありません。 2つの言語があります。

HTTPクエリ文字列を使用する場合、content-typeは無関係です。それは?update=である必要があります。

ベターHTTPボディで更新して

Content-Type: application/sparql-update

を使用して投稿することです