[英]Sparql Delete statement Jena OWL
我正在嘗試刪除所有三元組,我有這些功能,
類變量
public static String defaultNameSpace = "http://www.semanticweb.org/admin/ontologies/2016/3/Inventory#";
public Model Inventario = null;
public Model schema = null;
public String DatabaseFile = "PR2INVENTARIORDFXML.owl";
public OutputStream output;
public ResultSet runQuery(String queryRequest, Model model)
{
StringBuffer queryStr = new StringBuffer();
ResultSet response = null;
// Establish Prefixes
//Set default Name space first
queryStr.append("PREFIX base: <" + defaultNameSpace + "> ");
queryStr.append("PREFIX rdfs: <" + "http://www.w3.org/2000/01/rdf-schema#" + "> ");
queryStr.append("PREFIX rdf: <" + "http://www.w3.org/1999/02/22-rdf-syntax-ns#" + "> ");
queryStr.append("PREFIX owl: <http://www.w3.org/2002/07/owl#>");
//Now add query
queryStr.append(queryRequest);
Query query = QueryFactory.create(queryStr.toString());
QueryExecution qexec = QueryExecutionFactory.create(query, model);
try
{
response = qexec.execSelect();
}
finally { }
return response;
}
我有每個查詢的功能,這是一個示例
public ResultSet AllRecords(Model model)
{
return runQuery("select ?s ?p ?o where{?s ?p ?o."
+ "} " , model);
}
當我嘗試運行這些查詢時
public ResultSet BorrarPC(Model model)
{
return runQuery("DELETE {base:PC1 ?p ?o} " +
"WHERE {base:PC1 ?p ?o}" +
"" , model);
}
public ResultSet eraseAllTriples(Model model)
{
return runQuery("DELETE {?s ?p ?o} " +
"WHERE {?s ?p ?o}" +
"" , model);
}
它給了我這些錯誤
run:
線程“ main” com.hp.hpl.jena.query.QueryParseException中的異常:在第1行第233列遇到了“” delete“” DELETE“”。期望以下之一:“ prefix” ...“ select” .. 。“描述” ...“構造” ...“詢問” ...
at com.hp.hpl.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:87)
at com.hp.hpl.jena.sparql.lang.ParserSPARQL11.parse(ParserSPARQL11.java:40)
at com.hp.hpl.jena.query.QueryFactory.parse(QueryFactory.java:132)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:69)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:40)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:28)
at explorerowlexample.FinalProject.runQuery(FinalProject.java:146)
at explorerowlexample.FinalProject.BorrarPC(FinalProject.java:90)
at explorerowlexample.FinalProject.main(FinalProject.java:56)
Java結果:1個BUILD SUCCESSFUL(總時間:5秒)
如何創建刪除語句?
SPARQL更新請求不是查詢。
您需要使用更新API:請參見UpdateExecutionFactory
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.