问题标签 [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.
reasoning - HermIT 或 Pallet 推理器的推理解释选项
我是本体和知识库模型的新手。在 protege 应用程序中,我们有一个称为“解释推理”的选项。我想知道这个属性是否存在于owlready中。如果没有,我如何在 HermIT 或 Pallet Java API 中使用这个属性?
java - 使用 Java 推理器推断非平凡的 OWL 超类(或子类)断言
我想在 OWL 中表达以下 DL 断言
这意味着它A
是 B 的子概念,并且所有实例都A
必须R
与其他事物有关系。
我用以下 OWL 本体来表达它:
我正在使用 HermiT 推理器以这种方式检索 的所有超类:A
:
但这只是打印:
我怎样才能获得有关的信息SubClassOf(:A ObjectSomeValuesFrom(:R owl:Thing))
?
PS我不能只列出本体中的包含断言,但我必须使用推理器(不一定是 HermiT)来推断它们。
owl - 使用 Protege 推断个人的存在
我正在尝试推断 Protege 中个人的存在,并且可以使用一些帮助。
考虑以下本体作为示例场景:人可能是兄弟姐妹。如果他们是兄弟姐妹,那么他们至少有一个共同/共同的父母。我用“CommonParent”的子类定义了一个名为“Person”的类。我将“兄弟”对象属性从一个“人”(域)定义到另一个“人”(范围),并将其标记为“对称”。我创建了三个人(Mike、Jerry、Suzie)并添加了两个关于一个人是另一个人的兄弟姐妹的断言。推理器(HermiT)正确地将个人分类为人,并添加了缺失的兄弟关系。
现在,我想做的是让推理者推断存在另一个(未命名的)实体作为每个兄弟对的“CommonParent”(没有我特别断言存在这样的个体)。这可能吗?我该如何处理?
ontology - OWLAPI:用析取法对本体进行推理
我有一个个体a和 6 个类(A、B、C、D、E、F)的本体。个体属于以下析取:(A 或 B;C 或 D;E 或 F)。
有某种方法我怎么能从每个析取中推断出一个人必须属于两个类别之一?我试图创建一种状态,在这种状态下,来自本体的所有断言都将得到满足。例如a属于A, C, F。但是使用来自owlapi的推理函数getTypes是不可能的,因为它返回空的NodeSet。
我也尝试过 Hermit (ReasonerFactory()) 和 jFact (JFactFactory())。
我也尝试了以下方法:
但这只会返回 ObjectUnionOf 形式的 ClassExpression ,这无济于事,因为我需要原子类。
我知道推理器在这个函数中推断出个人总是属于的类。但是有什么方法可以从析取中决定它应该属于哪些类?我需要为任何本体构建一些模型,但我在推理器中找不到任何应该执行此操作或类似操作的函数。