问题标签 [owl-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2249 浏览

java - 用 Hermit reasoner 进行 owlexplanation

我正在尝试使用 Hermit Reasoner 来检查一致性。Hermit reasoner 默认不提供任何不一致的理由/解释。

编辑版本:: 我目前正在尝试使用 OWLReasoner,但它仍然会引发错误。

输出是

将 owlexplanation api [1]与 Hermit Reasoner/OWLReasoner 集成的任何帮助将不胜感激。

[1] https://github.com/matthewhorridge/owlexplanation

0 投票
2 回答
3453 浏览

semantic-web - 本体 OWL API java

我正在学习这个基于数据的知识课程,并试图弄清楚如何安装第一个 OWL API。首先,我在 Protege 中创建了一个 .owl 文件。我的老师告诉我们必须编写一个小型 Java 程序来读取我们的 .owl 文件。他告诉我们要包含 OWL API;他没有给出任何关于 OWL API 的指示和讲座。你知道如何安装 OWL API 是很混乱的吗?如果有任何好的教程可以解释如何将 .owl 文件实现到 Java 程序中?

谢谢

0 投票
1 回答
133 浏览

java - 如何区分推断公理和显式公理?

我有一个关于使用 OWL API 和推理器的基本问题。

我已经尝试过 JFact Reasoner,成功运行它并得到了很多公理(其中一些是推断出来的,其中一些在原始本体中明确说明)。

我需要区分它们,但我真的找不到任何方法来做到这一点。

OWLClass 或其他地方有什么方法吗?

0 投票
1 回答
73 浏览

semantics - 将我定义的注释添加到 owl 中的个人

我有一个电影本体,我正在使用 OWL-API,我已经添加了一些人。我想添加一些我已经定义的注释。我在这里找到了如何在此链接中向个人添加标签 [如何通过 OWLAPI 将 rdfs:label 添加到 OWLIndividual?

但我想添加我自己定义的注释而不是 rdfs:label 例如我想添加 rdfs:Movie_Name 。预期结果如下:

我从上面的链接复制的代码如下:

对此的任何帮助都将受到高度赞赏。

谢谢

0 投票
1 回答
906 浏览

eclipse - 使用未在 Protege 中删除的 OWL API 删除本体个体

我在 Protege 中创建了一个本体。我使用 Eclipse 加载了本体。我尝试使用以下代码从本体中删除特定个体:

个人似乎被删除了,但是当我用 Protege 打开本体时,个人仍然存在。

你能告诉我如何从 Eclipse 中删除个人以免出现在 Protege 中吗?

0 投票
1 回答
211 浏览

java - 打印所有定义类的子类而不打印不满足的类

我是 OWLAPi 的新手,我正在使用 Jfact1.2.1 推理器。

在我的本体中有两个不能满足的类。我想打印没有这两个不满意的类的所有子类。我已经使用数组编写了一些代码并且我成功了,但是我不喜欢这个数组的东西,因为我不能将它用于其他可能有超过 2 个不可满足的类的未知本体。

所以我的问题是,有没有办法打印出已定义类的所有子类,而其中不存在无法满足的类?我真的需要别人的帮助,因为我什么都试过了。如果有人对我习惯使用的数组方法感兴趣,代码如下

0 投票
1 回答
877 浏览

java - 无法在 OWLAPI 中获取 OWLClass 的注释

我在 IntelliJ 中使用 OWLAPI 4.0.1 作为 Maven 的全局库。我在网上看到很多关于如何获取类注释的示例(例如这个相关问题中的那个),但 IntelliJ 告诉我没有这样的 getAnnotations() 方法。其他 API 代码工作正常,我能够在本体中找到类和属性。OWLAPI 是否发生了变化,还是我遗漏了什么?

0 投票
1 回答
509 浏览

ontology - 使用 OWL API 编辑 OWL 个人

我有一个在 protege 4 中创建的本体。我需要使用 OWL API 4 向我的本体的一个猫头鹰个体添加一个数据属性。据我所知,我是 java / owl api 的新手。我使用了以下代码:-

但是这段代码不会“更新”已经存在的猫头鹰个体“测试”,而是创建一个新的。

如何纠正这种情况?

0 投票
2 回答
3285 浏览

java - 使用 OWL API 4.0 检索具有相同对象属性的 OWL 个体

我在 Eclipse 3.4 中使用 OWL Api 4.0,在 Protege 4 中有一个简单的本体。我有两个类“Ward”和“Gaurdian”。这些类的个体通过对象属性 isWardOf 关联。我如何检索与 Gaurdian 类的同一个人相关的 Ward 类的个人。考虑下图:-

在此处输入图像描述

我想检索 Peter 和 Allice 是亲戚或兄弟姐妹的事实,因为他们都与 Jack 有联系。关于如何使用 OWL API 4.0 实现这一点的任何粗略线索。

我完整的猫头鹰文件已附加:-

0 投票
1 回答
207 浏览

java - OWLAPI 和声明公理要求

整体参考代码:https ://github.com/jottinger/ontology

我正在创建一个本体并填充它(我认为是正确的)。结构在那里,但我还没有验证它。

但是,我仍然期待声明会出现,我不知道为什么它们会丢失。我认为它与前缀管理器有关(因为每个元素都由命名空间完全限定)但我不知道如何实例化一个新的前缀管理器以便我可以注册命名空间。

这是添加子类关系的代码:

假设这是一个有效的结构。(这个项目的一部分是学习本体是如何工作的。)但是我不知道如何让声明出现,并且这个本体被用作另一个需要该信息的进程的输入。