Я читал различные учебные пособия, объясняющие, как загрузить модель в конечную точку Virtuoso SPARQL с помощью Java Apache Jena (например, https://jena.apache.org/documentation/rdfconnection/),, но я не могу это сделать.
Я попробовал эту функцию:
public void uploader(){
String myVirtuosoEndpoint = "http://10.1.22.17:8890/"; //my Virtuoso endpoint IP
Model model = ModelFactory.createDefaultModel() ; //the Model I want to upload
model.createResource("https://example.org").addProperty(RDF.type, "http://myType");
try (RDFConnection conn = RDFConnectionFactory.connect(myVirtuosoEndpoint)) {
conn.begin(ReadWrite.WRITE);
conn.load("http://myGraph", model);
conn.commit();
conn.end();
}
}
Я также попробовал эту другую функцию, используя библиотеку Jena Txn (https://jena.apache.org/documentation/txn/txn.html).
try (RDFConnection conn = RDFConnectionFactory.connect(myVirtuosoEndpoint)) {
Txn.executeWrite(conn, ()-> {
conn.load(targetGraph, model);
}) ;
}
Я использую сервер OpenLink Virtuoso версии 07.20.3217. Что касается зависимостей JenaЯ использую следующее:
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>apache-jena-libs</artifactId>
<type>pom</type>
<version>3.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.jena/jena-rdfconnection -->
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-rdfconnection</artifactId>
<version>3.10.0</version>
</dependency>
Кажется, что код работает, так как я не получаю никакой ошибки, но график, в который я хочу загрузить модель, не меняется. Я проверяю это, просто выполняяSPARQL-запрос к графу после выполнения кода.
Кто-нибудь с такой же проблемой?
Спасибо