【问题标题】:Java how use sparql Delete queryJava如何使用sparql删除查询
【发布时间】:2017-06-09 15:38:35
【问题描述】:

我需要一些帮助从我的 fuseki server 中删除条目

例如,如何删除此条目?

<http://person/Test1>
    <http://purl.org/dc/elements/1.1/name> "Test1" ;

这是我尝试过的,但它不起作用......

public void deletePerson(String[] personalData ) {
        String personURI    = "http://localhost:3030/Date";
        String name = personalData[0];
        String query = "DELETE WHERE { <http://person/" + formattedName + "> }";
        QueryExecution qe = QueryExecutionFactory.sparqlService(
                "http://localhost:3030/Date/query",
                "PREFIX dc: <http://purl.org/dc/elements/1.1/> " + query);
    }

线程“AWT-EventQueue-0”com.hp.hpl.jena.query.QueryParseException 中的异常:在第 1 行第 47 列遇到“”DELETE WHERE“”。 期待其中之一:
“基地” ...
“前缀” ...
“选择” ...
“描述” ...
“构造” ...
“问”...

【问题讨论】:

标签: java sparql rdf fuseki apache-jena


【解决方案1】:

我认为你应该使用 UpdateExecutionFactory 类似的东西

 UpdateRequest request = UpdateFactory.create(queryString) ;
            UpdateProcessor proc = UpdateExecutionFactory.create(request, graphStore) ;

【讨论】:

  • 像这样:字符串名称=个人数据[0];字符串查询 = "删除位置 { person" + formattedName + "> }"; UpdateRequest 请求 = UpdateFactory.create(query); UpdateExecutionFactory .createRemote(request, "localhost:3030/Date/query", "PREFIX dc: purl.org/dc/elements/1.1> ");
  • “它不起作用”没有意义!什么不起作用?并且必须自己提供一些 Java 技能 - 文档在这里:jena.apache.org/documentation/query/update.html 顺便说一下,您的示例代码不起作用,您有一个 Java 对象name,但使用了一个未知的 Java 对象formattedName -那肯定是错的。
  • 我对代码无能为力,但无论如何更新都不会对查询端点起作用。可能是localhost:3030/Date/update,但请检查配置文件以确保。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
相关资源
最近更新 更多