我正在断言一个临时类的新个体,如下所示:
OWLIndividual newRandomInstance = _owlDataFactory.getOWLNamedIndividual(IRI.create(OntoStringIRI + "#random" + n));
OWLClass tempClass = _owlDataFactory.getOWLClass("pre:tempClass", _prefixManager);
OWLClassAssertionAxiom classAssertion = _owlDataFactory.getOWLClassAssertionAxiom(tempClass, newRandomInstance);
_manager.applyChange(new AddAxiom(_newOnto, classAssertion));
在运行推理引擎之后,此实例也将成为另一个类的实例,例如destClass。我需要将个体从tempClass中删除,并保留作为destClass个体的公理。我正在尝试使用removeAxiom子句,如下所示,但它不会从tempClass中删除它:
_manager.removeAxiom(_newOnto, classAssertion);
答案 0 :(得分:0)
你是如何构建推理器的?如果你使用的是标准结构,你将得到一个缓冲推理器 - 在你调用flush()
方法之前,它不会看到本体的变化。
您正在使用的公理删除代码是正确的。