RDF4J Обновление API REST, возвращающее 500, "Ошибка обработки транзакции: java.util.concurrent.ExecutionException: java.lang.NullPointerException"
Я использую python для запроса REST API RDF4J, но я не могу заставить его работать, как описано в документации ( http://docs.rdf4j.org/rest-api/)
Я делаю оператор выбора, который работает нормально, но когда я пытаюсь сделать оператор вставки, я получаю следующую ошибку:
"500, 'Transaction handling error: java.util.concurrent.ExecutionException: java.lang.NullPointerException'"
Для выполнения запроса POST я генерирую идентификатор транзакции, а затем выполняю фактический запрос POST:
# Generate tranzaction ID
transaction_id = requests.post('http://localhost:8080/rdf4j-server/repositories/ProiectICVG/transactions')enter code here
transaction_id = transaction_id.headers['Location']
transaction_id = string.split(transaction_id, '/')
transaction_id = transaction_id[-1]
#Make the post request
return_data = requests.post('http://localhost:8080/rdf4j-server/repositories/ProiectICVG/transactions/'+transaction_id+'?action=UPDATE',
data={'Host': 'localhost',
'Content-Type': 'application/sparql-query',
'query': 'PREFIX : <http://proj.local#>\
insert data {\
graph :isIncidentGraph{\
:INC005 :hasTtile "test".}'
})
print(return_data.status_code, return_data.content)
Вывод следующий:
"C:\Python27\python.exe D:/xamp/cgi-bin/index.py
(500, 'Transaction handling error: java.util.concurrent.ExecutionException: java.lang.NullPointerException')
Process finished with exit code 0
Я был бы очень признателен за помощь в этом.
1 ответ
Решение
Вы можете найти ответ в разделе комментариев, опубликованном @Jeen Broekstra:
Вы делаете POST, где в документации сказано, что вы должны использовать PUT: http://docs.rdf4j.org/rest-api/