问题标签 [hermit]

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 回答
90 浏览

owl - OWL Hermit 调试可满足性检查

我正在将 HermiTv1.3.8.4与 OWLAPI 一起使用,v3.5.6并遇到了一个永远运行的问题reasoner.isSatisfiable(clazz)

有没有办法检查 HermiT 正在做什么,即获取调试信息的方法?

我目前的设置大致是这样的

0 投票
1 回答
223 浏览

semantic-web - Stardog 和 Protege 的推理结果不同

我试图理解为什么我在 Stardog 和 Protege 推理之间得到不同的结果。

我在这两个工具中都有以下本体:

数字

奇数

偶数

有值

然后我创建了两个名为 num1 和 num2 的实例,它们的定义如下:

数字1

num2

在 Protege 和 Stardog 中应用推理时,两个推理器都表明 num2 是 EvenNumber 和 Number 的一个实例。当用 num1 应用推理器时,Protege 说 num1 是 OddNumber 和 Number 的一个实例,而 Stardog 说 num1 只是 Number 的一个实例。

我也需要 Stardog 将 num1 归类为 OddNumber。为了实现这种行为,我是否缺少一些限制?是否可以将 Stardog 配置为这样?

注意:我使用默认安装的 Stardog(4.2.3 版)和 Protege(5.1.0 版),默认情况下,推理机 Hermit 1.3.8。

谢谢。

0 投票
1 回答
109 浏览

ontology - HermiT 似乎没有显示推断的 DataProperties ?

我使用 Protege 创建了一个本体,并添加了 SWRL 规则,使用 Hermit Reasoner,一切都很好,但它没有显示推断的 DataProperties。

我尝试使用 Pellet,它能够推断 DataProperties,但是,我创建的所有 SWRL 规则都不再起作用。

这是来自隐士的虫子吗?有解决办法吗?最好的祝福。

0 投票
1 回答
258 浏览

xsd - 在 OWL 类上创建正则表达式限制

我正在尝试创建一个简单的本体,它有两个类:class1 和 class2,以及两个具有相同名称的简单文本数据属性的实例(hasName: "string1"^^xsd:string 和 hasName "string2"^^ xsd:string 分别)。我想根据正则表达式将这些实例与推理器分类到相应的类(例如,类 1 的限制是 hasName some xsd:string[pattern "string1"],这样,推理器应该推断 instance1 属于class1,但 instance2 不是)。怎么做到呢?

0 投票
0 回答
219 浏览

owl - Hermit 推理不一致检查和内存消耗

我通过 Protege 使用 Hermit 来检查我的 OWL 模型的一致性。但是,我在模型中导入的本体似乎由于内存不足而导致失败。我在 16GB RAM 的 PC 上运行,即使我使用Xmx14500M -Xms14000Mjava 堆的参数,推理过程由于内存大小而失败,同时显示“构建类层次结构......”消息。

问题:

  1. 我知道(至少有时)当我的模型不一致时,这些不一致错误会在“Building class Hierarchy...”消息之前相对较早地提出(例如在前 3-4 分钟内)。我无法真正确认每次都会发生这种情况。假设 Hermit 首先检查不一致然后尝试构建模型的推断类层次结构是否安全?如果这是真的,当我到达“Building class hierarchy...”消息时,这意味着我的模型是一致的。这是真的?
  2. 虽然推断的关系(例如推断的类层次结构)在我的用例中可能很有用,但检查我的模型的一致性是我的首要任务。我可以以某种方式指示 Hermit 只检查不一致而不尝试构建请求的类层次结构吗?
  3. 我可以做些什么来提高性能吗?除了增加 java 堆大小之外,是否有任何类型的自定义可能有用?
  4. 其他推理者通常会在内存消耗方面表现得更好吗?我应该尝试另一种选择吗?

请注意,我通过 Protege 5.2 使用 Hermit reasoner 1.3.8.413

0 投票
1 回答
194 浏览

ontology - 如何使用 Hermit Reasoner 检查 ABOX 一致性

我正在尝试学习如何正确使用 OWLAPI,但我遇到了一些麻烦:我有一个构建活动(例如个人和社会活动)的本体;我的目标是创建一个简单的不一致示例,以便使用此 API:我想声明足球是一项个人活动。 IndividualActivity在 Protegè 中定义为Equivalent to (Activity and (hasActor exactly 1 Person))

这是 Hermit reasoner 的配置:

我创建了个人 Paolo 和 Marco 以创建超过 1 个Person存在ActorsSoccer但该isConsistent()方法仍然返回 true,而我期望一个 false 值。另外,我打印了ABOX内容:

老实说,我不明白我的错误在哪里,有人可以帮助我吗?

0 投票
1 回答
255 浏览

owl - Reasoner 设置了两个彼此等价的不同类和 owl:Thing

我正在为一个大学课程项目开发视频游戏本体,特别关注不同类型之间的关系。我已经在我的项目中包含了这个本体并对其进行了扩展。OWL 文档的当前状态在这里

当我在 Protégé 中启动 HermiT 推理器时,它指出这GameEquivalent To Genre与解释:

Game Equivalent To Genre 解释

此外,它指出这owl:Thing与以下解释(分别)Equivalent To Game等效:Genre

owl:Thing Equivalent to Game 解释

owl:Thing Equivalent To Genre 解释

如您所料,这绝对不是我所期望的结果。我尝试过设置Game Disjoint With Genre,但推理器随后指出本体不一致。它给出的解释与 for 的解释相同,但在每个解释中都Game Equivalent To Genre增加了限制。Disjoint With

这是我第一次使用这样的东西,所以如果有人能向我解释我的逻辑谬误,我将不胜感激。是什么导致了这种行为,为什么以及如何解决它?

另外,这里是似乎引起问题的两个对象属性的代码(其余的可以在这里找到):

0 投票
1 回答
309 浏览

java - Hermit 和 OWLApi 用于检索对象属性断言

我正在尝试从推理器(隐士 1.3.8.4)和 OWLApi(3.4.10)中检索属性断言。在这张图片中,我要检索“isGrandfather Sandro,isGrandfather Sergio”。



图片 -我尝试使用 Ignazio 回答的对象属性断言: https ://stackoverflow.com/a/37497541/3760251

以 Horridge 为例,但 OWL API 更改了签名,我不知道如何使用它。https://www.javatips.net/api/Owl-master/owlapi-master/tools/src/main/java/org/semanticweb/owlapi/util/InferredSubObjectPropertyAxiomGenerator.java

因此,如果您有来自 InferredObjectPropertyAxiomGenerator 的 addAxioms 方法的示例,我将不胜感激。

InferredObjectPropertyAxiomGenerator generator = new InferredObjectPropertyAxiomGenerator() { @Override protected void addAxioms(OWLEntity entity, OWLreasoner reasoner, OWLDataFactory dataFactory, Set result) { } }

谢谢,

0 投票
1 回答
797 浏览

jena - Hermit Reasoner - SPARQL 查询

我正在使用带有 OWL-API 5 的 Hermit Reasoner,如下所示:

现在我想在推断的本体上以类似于 Protégé SPARQL 插件的方式执行 SPARQL 查询。我正在试验 JENA ARQ,但我不清楚如何整合它们。有什么建议么?

0 投票
1 回答
681 浏览

python - 在 Python 中使用 HermiT

我们有一个本体,但我们需要使用推理器 HermiT 来推断给定表达式的情感。我们不知道如何在 python 中使用和实现推理器,并且在互联网上找不到很好的解释。我们发现我们可以为此使用sync_reasoner(),但这究竟是做什么的呢?我们必须每次都手动调用推理器还是自动发生?