我有一个在protege 4中创建的本体,我需要使用owl 4为我的本体的OWL个人添加一个数据属性。据我所知,我对java / owl很陌生。我使用了以下代码:-
OWLNamedIndividual myowlIndl = df.getOWLNamedIndividual(":test", pm);
OWLDataProperty indlName = df.getOWLDataProperty(":strVal", pm);
OWLDataPropertyAssertionAxiom dataPropertyAssertion = df.getOWLDataPropertyAssertionAxiom(indlName, myowlIndl,"hello world");
AddAxiom addAxiom1 = new AddAxiom(myowlOntology, dataPropertyAssertion);
myontologyManager.applyChange(addAxiom1);但是这段代码并不是“更新”已经存在的owl单独的“测试”,而是创建一个新的。
如何纠正这个问题?
发布于 2014-12-27 05:34:12
使用完整的IRI而不是缩短的版本,很难从这段代码中判断名称空间是否是正确的(":test“是模棱两可的,因为我们看不到前缀管理器如何解析它,也看不到本体)。另外,确保在调用applyChange()之后保存本体。
https://stackoverflow.com/questions/27662826
复制相似问题