<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-tdb</artifactId>
<version>X.X.X</version>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-jdbc</artifactId>
<version>X.X.X</version>
</dependency>
String dbDirectory = "rdfdb";
String dbURL = "jdbc:jena:tdb:directory=" + dbDirectory;
try (Connection conn = DriverManager.getConnection(dbURL)) {
} catch (SQLException e) {
e.printStackTrace();
}
try (Connection conn = DriverManager.getConnection(dbURL)) {
Model model = ModelFactory.createModelForGraph(conn.getMetaData().getDefaultGraph());
Resource subject = model.createResource("http://example.org/subject");
Property predicate = model.createProperty("http://example.org/predicate");
RDFNode object = model.createLiteral("Object Value");
Statement statement = model.createStatement(subject, predicate, object);
model.add(statement);
// ...
} catch (SQLException e) {
e.printStackTrace();
}
try (Connection conn = DriverManager.getConnection(dbURL)) {
Model model = ModelFactory.createModelForGraph(conn.getMetaData().getDefaultGraph());
String queryString = "SELECT * WHERE {?s ?p ?o}";
Query query = QueryFactory.create(queryString);
QueryExecution qe = QueryExecutionFactory.create(query, model);
ResultSet results = qe.execSelect();
while (results.hasNext()) {
QuerySolution solution = results.next();
RDFNode subject = solution.get("s");
RDFNode predicate = solution.get("p");
RDFNode object = solution.get("o");
// ...
}
qe.close();
} catch (SQLException e) {
e.printStackTrace();
}