断言然后在OWLAPI中撤消类实例

时间:2015-12-11 21:30:48

标签: java owl-api

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

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

1 个答案:

答案 0 :(得分:0)

你是如何构建推理器的?如果你使用的是标准结构,你将得到一个缓冲推理器 - 在你调用flush()方法之前,它不会看到本体的变化。

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