当前位置: 首页 > 知识库问答 >
问题:

使用OWL API编辑OWL个体

汝弘深
2023-03-14

我在Protege4中创建了一个本体。我需要使用owl API4向我的本体的owl个体添加一个数据属性。我对java/owl api是个新手,所以我对它的理解是这样的。我使用了以下代码:-

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个体“测试”,而是创建一个新的。

共有1个答案

唐宇定
2023-03-14

使用完整的IRI而不是缩短的IRI,从这段代码中很难判断名称空间是否正确(“:test”是不明确的,因为我们无法看到前缀管理器如何解析它,也无法看到本体)。另外,确保在调用applyChange()之后保存本体。

 类似资料:
  • 我正在尝试使用owlapi彻底的net beans加载.owl文件,以插入个人及其数据属性(使用owlapi文档中列出的代码),但它无法加载文件,但当我将.owl文件转换为.rdf格式时,它被成功加载,并且能够插入所需的数据。我需要操作.owl文件而不是.rdf格式 下面是我用来加载.owl而没有成功的代码 但是当我使用了如下所示的rdf fromat时,它就成功地加载了 那么我如何克服这个问题并

  • OWLAPI用于序列化SWRL规则的OWL-XML序列化格式在哪里指定?例如。通过使用Protege(据我所知,它使用OWLAPI)序列化一个简单的规则,我得到以下代码: 这与SWRL规范[1]: 谢谢你![1]https://www.w3.org/submission/swrl/[2]http://dl.acm.org/citation.cfm?id=2890050

  • 我在https://github.com/owlcs/owlapi/tree/master/contract/src/test/java.org/coode/owlapi/example上运行owlapi示例,以检索具有奇数字符的类的子类。我的owl文件包含带有奇数字符的类,如/,(但解析器似乎在奇数字符之前截断它们,并最终抛出一个错误。我查看了ManchesterOWLSyntaxTokeniz

  • 问题内容: 如何使用simpleXML在xml文件中编辑值? 我知道如何创建文件,但不知道如何编辑现有文件中的值? 问题答案: 确保可以使用SimpleXML进行编辑: 看一下例子。

  • applyChange()方法总是返回“unsuccessful”,我找不到任何关于注释删除不起作用的文档。 注:在http://sourceforge.net/p/owlapi/mailman/message/28203984/here似乎起作用

  • 我有一个页面,我希望用户能够编辑他们的房间信息。例如房间的名称。我目前的代码是,它显示中的,如果他们单击按钮,则属性将更改为true(这将显示而不是)。 问题是:如果用户按“取消”,我不希望它更新属性。我试图通过重新运行一个计算属性来实现这一点,该属性从存储中获取。但是,我不允许在中调用计算属性。 我使用属性的原因 如何从输入中获取值,或者如何使用此结构创建取消按钮?