В настоящее время я работаю над проектом, в котором есть исходный файл .owl
, содержащий базовую схему для нашей онтологии. Мы загружаем этот файл с помощью Jena API и выполняем над ним различные манипуляции, например, добавляем классы онтологий и индивидуумов.
Мы стремимся перенести систему на тройное хранилище, что означает, что вместо постоянного чтения и записи файлов .owl
мы хотим один раз загрузить исходный файл .owl
, а затем выполнять дальнейшие операции на сервере.
Я не совсем понял концепции, объясняемые документацией Jena, потому что они, кажется, расходятся во всех направлениях; однако я понял, что для этого мы должны использовать встроенную Fuseki и Jena TDB. Я попробовал следующий код (параметр OntModel
в данном случае содержит схему нашей онтологии):
public Store(OntModel model) {
Dataset ds = DatasetFactory.assemble(model);
File dsDir = new File(ClassLoader.getSystemClassLoader().getResource("ds/")
.getFile());
ds.begin(ReadWrite.WRITE);
server = FusekiServer.create().add(dsDir.getAbsolutePath(), ds).build();
}
Это дает мне следующую ошибку: org.apache.jena.sparql.ARQException: No root found for type <http://jena.hpl.hp.com/2005/11/Assembler#RDFDataset>
. Пожалуйста, предоставьте мне несколько примеров использования.