Использование транзакций с GraphDB REST API для передачи файла в хранилище - PullRequest
0 голосов
/ 27 октября 2019


У меня есть следующее требование:

После выбора файла онтологии мне нужно отправить его в мой GraphDB-репозиторий. Я программирую на Angular 8. Я посмотрел документацию по REST API и постарался изо всех сил понять, что мне нужно сделать (у меня около 3 месяцев опыта работы с кодированием на Angular [и вообще на самом деле], поэтому все эти концепции все еще актуальны)довольно новый для меня).

Так что я понял, что могу начать новую транзакцию, получить идентификатор транзакции и использовать его для отправки моего файла. Я не знаю, работает ли этот appraoch, но в любом случае я не могу получить идентификатор транзакции, потому что он нигде не появляется в ответе сервера. Запись к документации должна быть в шапке. Но есть только следующий контент: «cache-control»: «no-store», «content-language»: «de», «content-type»: «text / plain; charset = UTF-8»

Заранее спасибо!

var config_post: AxiosRequestConfig = {
    method: `POST`,
    headers: {
        'Content-Type': 'application/json',
        'Accept': 'text/plain',           
    },
    // responseType: 'text',
    // data: formData,      
    url: "http://localhost:7200/repositories/testdb/transactions"
}
Axios(config_post).then(function (response) {
  console.log("Got a response from GraphDB ");
  console.log(response.headers);
})

1 Ответ

0 голосов
/ 28 октября 2019

Как упоминал Дамьян, вам не нужно начинать транзакцию для загрузки файла. Вы можете сделать что-то вроде:

curl -X POST -H "Content-Type: application / x-trig" --data-binary '@ test_data.trig' 'http://localhost:7200/repositories/test/statements'

или

curl -X POST -H "Тип содержимого: application / x-trig" -T test_data.trig 'http://localhost:7200/repositories/test/statements'

...