问题标签 [reasoner]

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 投票
0 回答
59 浏览

node.js - NodeJS 的 OWL 推理器

我正在为 nodejs 寻找一个猫头鹰推理器。那里有合适的包裹吗?我已经搜索了 npm,但没有找到任何好的东西。

此致

0 投票
0 回答
61 浏览

owl - 在 Protege 5 中,什么最能减慢推理者的速度?

我的本体现在是 3000 个公理,但我有很多人将来必须在那里。Reasoner在此处输入图像描述会放慢大约 10 分钟的时间来进行推理。我认为这是不正常的,我正在努力让它变得更好并以某种方式解决它。可能是我有很多标签,如果这是一个问题的话。

Pellet 推断非常快 - 可能是 5 秒。

这两个推理者之间的真正区别是什么?是否可以互换。

会对您的所有评论感到非常高兴。谢谢!

0 投票
0 回答
260 浏览

python - 在 RDFLIB 上使用 OWL-RL 进行传递推理

我正在尝试在我创建的 RDF 图上使用 OWL 推理器rdflib,如下所示:

(汽车并不是真正的卡车,但我只是在尝试推理)。

运行推理器后,我的目标是能够推断如果 Bob 驾驶汽车,并且汽车是卡车的一种,卡车是车辆的子类,那么 Bob 会驾驶车辆。

当我问汽车是否是一种车辆时,结果是True

但是当我问鲍勃是否开车时,我得到一个False

我从这个问题中意识到,在推理完成,我可以编写一些代码来添加我想要的三元组。但是,如果我想要的行为已经得到 OWL/RDF 语义的支持,我宁愿纠正我的方法,让推理语义发挥作用。我觉得我可能错过了推理应该如何工作的基本原则,但我是这个领域的新手,我不确定我做错了什么。任何帮助,将不胜感激。

(我用于owlrl通过运行进行推理DeductiveClosure(OWLRL_Semantics).expand(g))。

0 投票
1 回答
52 浏览

ontology - 推理一个相当大的本体

我有一个相当大的本体(大约 80 GB)。我认为推理器将整个本体带入推理过程的记忆中,不是吗?有什么方法可以推理超过 80 GB 的本体和 16 GB 的 RAM?

0 投票
1 回答
180 浏览

owl - owlready2 推理器不会使用 SWRL 规则生成推断的对象属性断言

假设一个 OWL 本体包含以下 SWRL 规则:

和以下对象属性断言:

当我在 Protege 中运行 Hermit 推理器时,我得到以下推断的对象属性断言:

但是,当我使用 owlready2 加载相同的本体并运行其 Hermit 推理器时,我没有得到任何推断的对象属性断言。例如:

不返回任何属性。

我确实以 RDFXML 格式保存了本体,并且可以使用 owlready2 检索 SWRL 规则。

owlready2 推理器不支持这种推理吗?

0 投票
1 回答
35 浏览

java - 使用 owlapi 推断平等的语义(OWL 2 RL)

我正在尝试使用 owl-api 为 OWL 2 RL 'The Semantics of Equality' 中的规则生成蕴涵。我已经尝试过:为什么在 Protege 中可视化的推理与导出的推理公理不同

并尝试预先计算相同的个人推理:

我已经尝试使用 Openllet 和 hermit 作为推理器。

但我仍然不能产生这样的蕴涵:

或平等语义学中的任何内容。

0 投票
0 回答
40 浏览

owl - 在 OWL 中跨不同属性定义基数

有没有办法在 OWL 中跨多个属性定义基数?通常的语法是property min number class. 我想做(property1, property2) min 2 class

示例:我有一个具有多个特征(协助、会议)的发件人。但是对象属性/与每个特征的关系是不同的(有与想要)。

在此处输入图像描述

所有特征都归为一类。

在此处输入图像描述

攻击者被定义为具有至少两个特征(字符)的发送者 在此处输入图像描述

如第一张图片所示,推理器不会推断单个发件人是攻击者。但是,当 Assist 属性更改时,它会被推断。

在此处输入图像描述

有没有办法在各种对象属性上定义一个基数的攻击者?我检查了 OWL 参考,没有指向这种解决方案的语法。也许通过不同地设计本体有一种解决方法?

我可以只在这个本体中拥有一个属性作为使用基数的技巧。但我不认为这是本体的意图。适用于用例,但一点也不优雅。

0 投票
1 回答
65 浏览

ontology - 使用规则选项卡推断 Protege 中的匿名类

我想为 Protege 中的个人推断一个匿名类定义。

我有一个带有类的简单本体Rain NoRain and Scene,对象属性has_weather。我的愿望是能够推断“has_weather(?x, ?noRain), NoRain(?noRain), Scene(?x) -> (has_weather exactly 0 Rain)(?x)我在规则选项卡中写的,我可以在其中混合 SWRL 和 OWL 表达式。 在此处输入图像描述

我正在使用 Pellet Reasoner,但我也尝试过使用 OnTop 和 Hermit,但没有任何效果。例如,如果我以相反的方式执行规则:

在此处输入图像描述

它可以正常工作。

问题是,Protege 不能推断匿名类吗?有什么解决方法吗?先感谢您!

这是本体的代码

</rdf:RDF>

`

0 投票
1 回答
34 浏览

owl - 在 owl 中仅使用约束会导致不一致

我正在尝试模拟以下情况:

  • 学位可以是学士或硕士
  • 学生可能是本科生或硕士生
  • 学位可能有学生:学士学位只有本科生,反之亦然。

我想尝试使用“唯一”限制,因此我定义了学士学位,例如,等同于“只有学士学位学生”。因此,我使用 Protegé 生成了以下代码:

但是,当我启动推理器时,这会导致不一致。提供的解释如下: 不一致的解释 我无法弄清楚我做错了什么。我误解了“仅”的使用,还是有其他错误?

0 投票
0 回答
38 浏览

owl - 使用 Protege 推断个人的存在

我正在尝试推断 Protege 中个人的存在,并且可以使用一些帮助。

考虑以下本体作为示例场景:人可能是兄弟姐妹。如果他们是兄弟姐妹,那么他们至少有一个共同/共同的父母。我用“CommonParent”的子类定义了一个名为“Person”的类。我将“兄弟”对象属性从一个“人”(域)定义到另一个“人”(范围),并将其标记为“对称”。我创建了三个人(Mike、Jerry、Suzie)并添加了两个关于一个人是另一个人的兄弟姐妹的断言。推理器(HermiT)正确地将个人分类为人,并添加了缺失的兄弟关系。

现在,我想做的是让推理者推断存在另一个(未命名的)实体作为每个兄弟对的“CommonParent”(没有我特别断言存在这样的个体)。这可能吗?我该如何处理?

门生截图