问题标签 [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.
node.js - NodeJS 的 OWL 推理器
我正在为 nodejs 寻找一个猫头鹰推理器。那里有合适的包裹吗?我已经搜索了 npm,但没有找到任何好的东西。
此致
python - 在 RDFLIB 上使用 OWL-RL 进行传递推理
我正在尝试在我创建的 RDF 图上使用 OWL 推理器rdflib
,如下所示:
(汽车并不是真正的卡车,但我只是在尝试推理)。
运行推理器后,我的目标是能够推断如果 Bob 驾驶汽车,并且汽车是卡车的一种,卡车是车辆的子类,那么 Bob 会驾驶车辆。
当我问汽车是否是一种车辆时,结果是True
:
但是当我问鲍勃是否开车时,我得到一个False
:
我从这个问题中意识到,在推理完成后,我可以编写一些代码来添加我想要的三元组。但是,如果我想要的行为已经得到 OWL/RDF 语义的支持,我宁愿纠正我的方法,让推理语义发挥作用。我觉得我可能错过了推理应该如何工作的基本原则,但我是这个领域的新手,我不确定我做错了什么。任何帮助,将不胜感激。
(我用于owlrl
通过运行进行推理DeductiveClosure(OWLRL_Semantics).expand(g)
)。
ontology - 推理一个相当大的本体
我有一个相当大的本体(大约 80 GB)。我认为推理器将整个本体带入推理过程的记忆中,不是吗?有什么方法可以推理超过 80 GB 的本体和 16 GB 的 RAM?
owl - owlready2 推理器不会使用 SWRL 规则生成推断的对象属性断言
假设一个 OWL 本体包含以下 SWRL 规则:
和以下对象属性断言:
当我在 Protege 中运行 Hermit 推理器时,我得到以下推断的对象属性断言:
但是,当我使用 owlready2 加载相同的本体并运行其 Hermit 推理器时,我没有得到任何推断的对象属性断言。例如:
不返回任何属性。
我确实以 RDFXML 格式保存了本体,并且可以使用 owlready2 检索 SWRL 规则。
owlready2 推理器不支持这种推理吗?
java - 使用 owlapi 推断平等的语义(OWL 2 RL)
我正在尝试使用 owl-api 为 OWL 2 RL 'The Semantics of Equality' 中的规则生成蕴涵。我已经尝试过:为什么在 Protege 中可视化的推理与导出的推理公理不同
并尝试预先计算相同的个人推理:
我已经尝试使用 Openllet 和 hermit 作为推理器。
但我仍然不能产生这样的蕴涵:
或平等语义学中的任何内容。
owl - 在 OWL 中跨不同属性定义基数
有没有办法在 OWL 中跨多个属性定义基数?通常的语法是property min number class
. 我想做(property1, property2) min 2 class
。
示例:我有一个具有多个特征(协助、会议)的发件人。但是对象属性/与每个特征的关系是不同的(有与想要)。
所有特征都归为一类。
如第一张图片所示,推理器不会推断单个发件人是攻击者。但是,当 Assist 属性更改时,它会被推断。
有没有办法在各种对象属性上定义一个基数的攻击者?我检查了 OWL 参考,没有指向这种解决方案的语法。也许通过不同地设计本体有一种解决方法?
我可以只在这个本体中拥有一个属性作为使用基数的技巧。但我不认为这是本体的意图。适用于用例,但一点也不优雅。
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>
`
owl - 使用 Protege 推断个人的存在
我正在尝试推断 Protege 中个人的存在,并且可以使用一些帮助。
考虑以下本体作为示例场景:人可能是兄弟姐妹。如果他们是兄弟姐妹,那么他们至少有一个共同/共同的父母。我用“CommonParent”的子类定义了一个名为“Person”的类。我将“兄弟”对象属性从一个“人”(域)定义到另一个“人”(范围),并将其标记为“对称”。我创建了三个人(Mike、Jerry、Suzie)并添加了两个关于一个人是另一个人的兄弟姐妹的断言。推理器(HermiT)正确地将个人分类为人,并添加了缺失的兄弟关系。
现在,我想做的是让推理者推断存在另一个(未命名的)实体作为每个兄弟对的“CommonParent”(没有我特别断言存在这样的个体)。这可能吗?我该如何处理?