在 OWLAPI 中断言然后收回 class 实例

Assert and then retract a class instance in OWLAPI

我正在断言临时 class 的新个体,如下所示:

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));

在 运行 推理引擎之后,此实例也将成为另一个 class 的实例,例如目标类。我需要将个人从 tempClass 的个人中移除,并保留作为 destClass 的个人的公理。我正在尝试使用如下的 removeAxiom 子句,但它不会将其从 tempClass 中删除:

_manager.removeAxiom(_newOnto, classAssertion);

你是如何构建推理机的?如果您使用的是标准构造,您将获得一个缓冲推理器 - 在您调用 flush() 方法之前,它不会看到 ontology 中的更改。

您使用的公理删除代码是正确的。