SPARQL删除:在jena/pellet中不可能?

SPARQL删除:在jena/pellet中不可能?,sparql,jena,ontology,pellet,Sparql,Jena,Ontology,Pellet,我正在研究两个本体之间的本体协调。我在本地应用jena/pellet平台,并尽可能多地应用sparql规则。对于插入,这是成功的,对于删除,这不是成功的,无论我尝试什么。这就提出了一个问题:jena/pellet是否支持sparql删除。请告知 请在下面找到相关的代码片段。首先是代码,然后是sparql DELETE查询 public void executeDelete(String mySparqlFile, OntModel o ) { UpdateRequest updateObj

我正在研究两个本体之间的本体协调。我在本地应用jena/pellet平台,并尽可能多地应用sparql规则。对于插入,这是成功的,对于删除,这不是成功的,无论我尝试什么。这就提出了一个问题:jena/pellet是否支持sparql删除。请告知

请在下面找到相关的代码片段。首先是代码,然后是sparql DELETE查询

public void executeDelete(String mySparqlFile, OntModel o ) {
  UpdateRequest updateObj = null;
  UpdateProcessor up = null;
  GraphStore graphStore = GraphStoreFactory.create();

  graphStore.setDefaultGraph( o.getGraph() );

  updateObj = UpdateFactory.read( mySparqlFile );
  up = UpdateExecutionFactory.create(updateObj, graphStore);
  up.execute();
}


public static void main() {
  static OntModel ontModel = ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC, rawModel);
  static OntModel stanfordModel = ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC);

  stanfordModel.read("path/to/modelA.owl");
  ontModel.addSubModel(stanfordModel);

  executeDelete("path/to/delQuery.sparql", ontModel);
}
文件“delQuery.sparql”

前缀rdf:
前缀owl:
前缀xsd:
前缀rdfs:
前缀stfd:
删除{?c一个stfd:Token.}
何处{
?c stfd:hasFeature stfd:determinator。
}

您如何知道它不起作用?在没有看到任何数据的情况下,我们无法知道
?c stfd:hasFeature stfd:determinator
是否应该匹配任何内容。虽然所有软件都可能有bug,但我认为代码或数据中更有可能存在bug,而不是“在jena/pellet中SPARQL DELETE[是]不可能的?”然而,您询问abot pellet的事实确实提出了一个问题,即您是否试图删除推断的三元组。你可能无法做到这一点,因为他们“存在”的基础是当有人要求他们时,他们说他们存在。如果你想删除推断出的三元组,你需要提前将所有推断出的三元组保存到一个静态图中,然后你可以从中删除。可能与此相关。我不是Pellet+Jena领域的专家,但我认为Pellet需要了解更新,然后才能更改其答案-如果OnTerasoner界面上有刷新/更新方法,则可能需要在删除查询生效之前调用它。正如约书亚所指出的,这也可能发生在其他层面。@plbt5这就是我要问你的。您已经向我们展示了一个查询,但是在不知道数据是什么的情况下,我们如何知道该查询是否应该产生任何影响?如果
?c stfd:hasFeature stfd:determinator
与任何内容都不匹配怎么办?然后将不会删除任何内容,但查询将按预期工作。如果看不到您的数据,我们就无法知道问题出在哪里。
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX stfd: <http://www.semanticweb.org/brandtp/ontologies/2014/6/Goose-stanford-metamodel.owl#>

DELETE { ?c a stfd:Token . }
WHERE { 
    ?c stfd:hasFeature stfd:Determiner . 
}