Sesame数据库利用Java API查询数据与修改数据。 1. 查询数据 获取查询数据(通过SPARQL) public static void testQuery() {try { RepositoryConnection con = repo.getConnection(); try { String queryString = PREFIX rk:http://rk测试数据/test/ + SELECT ?s
Sesame数据库利用Java API查询数据与修改数据。
1. 查询数据 获取查询数据(通过SPARQL)
public static void testQuery() {
try {
RepositoryConnection con = repo.getConnection();
try {
String queryString = "PREFIX rk: " +
"SELECT ?s ?o " +
"WHERE { " +
"?s rk:type rk:CreativeWork ." +
"?s ?p ?o ." +
"} ";
TupleQuery tupleQuery = con.prepareTupleQuery(QueryLanguage.SPARQL, queryString);
long startTime = System.currentTimeMillis();
TupleQueryResult result = tupleQuery.evaluate();
long secondTime = System.currentTimeMillis();
List bindingNames = result.getBindingNames(); //get the name of binded variables
while (result.hasNext()) {
BindingSet bindingSet = result.next();
Value firstValue = bindingSet.getValue("s"); //bindingSet.getValue(bindingNames.get(0));
Value secondValue = bindingSet.getValue("o"); //bindingSet.getValue(bindingNames.get(1));
System.out.println(firstValue);
System.out.println(secondValue);
// do something interesting with the values here...
}
long endTime = System.currentTimeMillis();
System.out.println("evaluation time = "+(secondTime-startTime));
System.out.println("fetch time = "+(endTime-secondTime));
}
finally {
con.close();
}
}
catch (OpenRDFException e) {
// handle exception
e.printStackTrace();
}
}
2. 修改数据
public static void updateQuery() {
String updateQuery = "PREFIX rk: " +
"DELETE { " +
"?creativeWork rk:type ?type ." +
"} " +
"INSERT { " +
"?creativeWork rk:type ?typeUri ." +
"} " +
"WHERE { " +
"?creativeWork rk:type ?type ." +
"BIND( URI(?type) AS ?typeUri ) " +
"} ";
RepositoryConnection conn;
try {
conn = repo.getConnection();
Update update = conn.prepareUpdate(QueryLanguage.SPARQL, updateQuery);
update.execute();
conn测试数据mit();
conn.close();
} catch (RepositoryException e) {
e.printStackTrace();
} catch (MalformedQueryException e) {
e.printStackTrace();
} catch (UpdateExecutionException e) {
e.printStackTrace();
}
}
具体SPARQL语言可以参考书籍《Learning SPARQL》。
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did96309