Есть ли способ загрузить файл ttl в Fuseki программно? - PullRequest
0 голосов
/ 26 апреля 2019

Привет! Я создал Java-программу, в которой я беру ttl-файл и обновляю операторы turtle.Поскольку у меня есть веб-интерфейс, который подключается к fuseki для запроса файла ttl, я хотел бы повторно загрузить файл ttl с новыми данными.Есть ли способ сделать это программно вместо интерфейса Fuseki?

Я пытаюсь получить доступ к командной строке из Java и с помощью команды s-put, но я получаю Нет такого файла или ошибка каталога:

public void updateFuseki() throws IOException{
     Runtime rt = Runtime.getRuntime();
     Process pr = rt.exec("s-put http://localhost:3030/Test/ default Definitions.graph.ttl");
}

В настоящее время у меня есть только один набор данных с именем Test in fuseki, и Definitions.graph.ttl находится в том же пакете, что и Jena

1 Ответ

1 голос
/ 26 апреля 2019

API Fuseki для удаленной загрузки данных - это HTTP-протокол SPARQL Graph Store , который является частью стандарта SPARQL. Команда s-put - это простое клиентское приложение (написанное на Ruby), использующее этот API.

Поскольку ваше приложение написано на Java, было бы лучше использовать клиент Java для этого API.

Вы отметили свой вопрос jena, поэтому я предполагаю, что ваше Java-приложение уже использует Jena? Jena включает клиентскую библиотеку для протокола хранилища графиков . Простое использование будет примерно таким:

String serviceURL = "http://localhost:3030/Test/";
try (RDFConnection conn = RDFConnectionFactory.connect(serviceURL)) {
    conn.put("Definitions.graph.ttl");
}
...