问题标签 [swrl]

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 投票
1 回答
1503 浏览

rules - 用于推断 dataProperty 值的 swrl 规则

我正在尝试测试一个简单的 SWRL 规则。我的本体中有三个类:LivingPlace,它有两个子类 RuralArea 和 City。LivingPlace 是具有布尔范围的 dataProperty hasHospital 的域。

当我使用 Pellet 推理器测试以下规则时,我作为 LivingPlace 成员创建的个人也被推断为 RuralArea 的成员。

LivingPlace(?lp), hasHospital(?lp, false) → RuralArea(?lp)

然而,我真正想做的是与这个推理相反。

农村地区(?lp) → hasHospital(?lp, false)

每当我创建一个 RuralArea 类型的个体时,我希望 Pellet 推断出一个错误的 hasHospital。我怎样才能做到这一点?

0 投票
0 回答
112 浏览

rdf - 映射数据的 swrl 规则

我开发了一个本体来识别患者并将其映射到我的示例 SQL 数据库(包括 100 名患者)。这意味着我们在本体中没有任何个体。那么,如何在规则选项卡中为以下 sparql 查询运行类似的 swrl 规则:

0 投票
1 回答
102 浏览

semantic-web - 是否可以在语义网中实现数学推导?

例如: 我们有前提a < bb < c,你a < c能用语义网推断吗?

0 投票
1 回答
1128 浏览

protege - SWRL:如何使用内置的 swrlb:booleanNot?

我正在使用 Protege 3.4.8。假设我有一些带有 datatype propertycolors和 object property的实例hasMeaning。的值colors由字符串表示,例如red blue yellow

我想创建一个这样的规则:如果一个人的颜色包含red但不包含blue,那么它就具有意义Happy。我目前的规则如下:

colors(?x, ?y)
∧ swrlb:contains(?y, "red")
∧ swrlb:booleanNot(true, swrlb:contains(?y,"blue"))
→ hasMeaning(?x, Happy)

但我得到了Error: Expecting ',' or ')', got '('.

我遵循此处提供的语法。

知道这里有什么问题吗?非常感谢!

0 投票
1 回答
2139 浏览

owl - OWL 2 转义

在描述逻辑中,有一个称为“rolification”的概念(OWL 和规则,第 3.2 节)。它将概念(类)转换为角色(属性)。例如,当我们 rolify 时R(x),我们得到r(x,x)。这种技术对于在 DL 中表达一些规则很有用。

我们如何在 OWL 2 中做到这一点?OWL 2 规范中似乎没有直接支持 rolification 。

0 投票
1 回答
1955 浏览

owl - OWL 2 推理与 SWRL 规则

我正在尝试使用HermiT 推理器来计算包含一组 OWL 公理和 SWRL 规则的本体的推理:

基本上,OWL 部分试图表达这样一个规则:

使用属性链和转换技术:

规则

SWRL 部分是:

预期输出应同时包含ObjectPropertyAssertion( :professorOf :DrBoffin :Bob )ObjectPropertyAssertion( :instructorOf :DrBoffin :Bob )。但是,实际输出是(仅显示对象属性)

为什么没有出现预期的 SWRL 结果?有什么建议么?

0 投票
2 回答
8286 浏览

jena - 将 SWRL 与 Jena 和 Pellet 一起使用

我找不到一些体面的简单代码示例,将 SWRL 和 Jena 与 Pellet 一起使用,或者至少使用 SWRL?我研究了 Pellet 文档中的一些示例,但没有关于使用 SWRL 的示例。网络上的大多数示例都不完整且令人困惑。

我找到的唯一解决方案是使用 Jess Rule Engine,但它不是免费的,并且是在商业许可下的。我发现 Pellet 支持 SWRL 规则,但找不到运行示例。

我发现的唯一例子是这个,但我不明白:

0 投票
2 回答
845 浏览

protege - swrlb:greaterThan 上 Protege SWRL 规则编辑器中的 ParserException

我正在使用 Protege 4.3 和 SWRL 以 Pellet 作为推理器制定一些规则。

我正在尝试使用 SWRL 内置函数,但我根本无法让它工作。

规则是正确的,但 Protege 似乎根本无法识别内置函数(例如 swrlb:greaterThan)

你能告诉我让 Protege 4.3 识别 SWRL 内置函数所需的过程吗?

下面是一个规则示例:

我的问题是它似乎根本无法识别swrlb:greaterThan. 错误说:

OWLRuntimeException:org.protege.editor.owl.model.classexpression.OWLExpressionParserException:在第 1 行第 30 列遇到 swrlb:greaterThan。

0 投票
1 回答
912 浏览

protege - 如何使用 Pellet 在 Protegé 4.3 上使用 SWRL 规则

我刚刚开始使用 Protegé 进行本体研究,并且正在尝试了解如何使用 SWRL 规则。恐怕我不明白这个概念或如何正确对待它们,因为我无法产生任何输出。我将解释一个我创建的简单案例来测试这个:

我创建了三个人,分别称为 A、B 和 C。每个人都有一个测试属性,它有一个布尔值范围。在每一个的属性断言选项卡上,我已经初始化了它们的值,所以它们是test(A,true),test(B,true)test(C,true). 为了测试规则是如何工作的,我创建了一个这样的规则:test(A,true), test(B,true) -> test(C,false). 我的理解是,如果 A 和 B 的测试属性为真,则 C 的测试属性将变为假。为此,我启动了推理器(Pellet),但没有任何反应。我的意思是,它说推理器处于活动状态并且没有出现“不一致的本体”消息,但是 C 的测试值没有改变。我确信这一定是一个非常简单的混淆,但我似乎无法在任何地方找到它,也无法检查规则是否已被激活。

先感谢您。

0 投票
1 回答
2700 浏览

owl - protege 3.4.8 中的 SWRL 规则

我创建了一个包含类 Blood_Sugar 的本体,该类包含 4 个子类:Normal_BS、High_BS、Low_BS 和 Dangerous_BS。我想在 Protege 3.4.8 上执行一个 SWRL 规则,该规则允许根据值将超类 Blood_Sugar 的个体分类为子类。 Blood_Pressure(?x) ∧ hasLevelvalue(?x, ?y) ∧ swrlb:greaterThan(?y, 126) ∧ swrlb:lessThan(?y, 500) → High_BS(?x) 知道 hasLevelValue 是一个 DataType 属性,它的域是 Blood_Sugar 类,其范围是 INT 在 Blood_Sugar 类及其子类类上,我创建了限制(hasLevelvalue only int)

我创建了一些具有不同值但未归类为子类(High_BS、Low_BS ...)的个体,swrl 规则没有给出错误但没有给出结果:(问题?!!!!!