问题标签 [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 回答
1158 浏览

owl - SWRLb - 大于和小于触发

我在使用 SWRL 规则时遇到问题。我有一个机器人应该在出现两种异常情况时通知人类。对于我的测试用例,我使用了用户的压力:

  • 如果张力小于 14,则机器人提示张力过低:

    (:hasTension :Charles ?x) ∧ GreaterThan(?x, "14.0"^^xsd:float) → (:hasAlert :Samii "你的压力很大"^^xsd::string)

  • 如果张力大于 14,机器人会提示张力过高。

    (:hasTension :Charles ?x) ∧ lessThan(?x, "14.0"^^xsd:float) → (:hasAlert :Samii "你的张力很低"^^xsd::string)

我正在使用带有颗粒推理器的 OWL API(颗粒的 openllet 叉)。为此,我有使用内置swrlb:greaterThanswrlb:lessThan的 SWRL 规则。对于测试,我添加了公理

    :查尔斯 :hasTension "10"^^xsd:float

并查询数据属性

    :Samii :hasAlert ?alert

但是当我查询本体时,我收到两个警报:一个是大于,另一个是小于。我认为我的规则格式正确,API 没有任何警告或错误表明内置函数未实现,所以我相信规则应该按我的预期工作。知道为什么我会收到意外警报吗?

资源

我的测试“主要”

核心:

和我的本体

我的测试用例的输出:

0 投票
1 回答
477 浏览

owl - Protege inconsistent ontologies warning

Followed this intro youtube.com/playlist?list=PLea0WJq13cnAfCC0azrCyquCN_tPelJN1 to create the ontology. It is a little reduced http://prntscr.com/bo4l3w and I added canBeTutor (meaning somebody can become tutor for somebody) object property on my own. As far as I understand, I can add SWRL rules and then launch reasoner to create new knowledge. So I added prntscr.com/bo4lk7 . I started Hermit reasoner prntscr.com/bo4lqx . But obtained inconsistent ontologies warning prntscr.com/bo4lu0 . Clicked Explain button and got the following explanation http://prntscr.com/bo4lyg . My onto is here synoparser.ru/onto/protege.owl 1. Could you please tell what that mean? 2. Just for general understanding. I read that reasoner can create new knowledge. Does that mean just relations, or also individuals and classes? 3. Where can I find readoner added knowledge in Protege 5 ?

0 投票
1 回答
395 浏览

owl - SWRL : ^ 不适用于 protege 4.3

我正在尝试使用连词符号添加 SWRL 规则来保护,^但 Protege 4.3 不批准该符号。

swrl 构建也存在此问题,例如swrlb:lessThanOrEqual.

截屏

有什么问题^?我可以,改用吗?

0 投票
1 回答
344 浏览

owl - SWRL:将规则限制为特定的个人

假设有一个类 "Food" 包含个人 "Grain" 和 "Fruit" 。如果我想选择 Grain,我可以将food_type数据属性分配给个人

并运行此代码:

但是如果我想在不需要 财产的情况下做这项工作(选择Grain个人)怎么办?food_type是否可以仅通过名称直接指向特定的个人?

0 投票
0 回答
36 浏览

owl - 如何在具有一种特殊关系的本体中定义一个类?

我想定义两个类,它们的成员是节点,它们是几个链接的范围。

第一类中,其中一个链接具有类型Highway,而在第二类中,它们都不是类型Highway

我可以使用 SWRL 制作第一堂课,但第二堂课是不可能的,因为似乎没有否定这样的表达。

我可以使用通用类公理来定义它们吗?

就像是:

0 投票
1 回答
517 浏览

drools - Protege 中规则引擎的用例是什么?

在使用 SWRLTab 和 SQWRLTab 在 Protege 中编写新规则时,我们在 SWRL 中定义约束规则,并使用 FaCT++、Pellet 等语义推理器或 Drools 或 Jess 等规则引擎使用 SQWRL 进行查询。但是由于 Protege 限制了它的功能,我们不能使用 Drools/Jess 来定义复杂的本体规则或用他们自己的编程语言编写规则。

我的问题是:当我们无法使用 Drools 和 Jess 的完整功能时,Protege 中的目的是什么?

0 投票
0 回答
106 浏览

rdf - SWRL 到猫头鹰公理

我是 OWL 的新手。我需要知道如何将 SWRL 中的以下规则转换为 OWL 公理。

规则:

Taxon(?x), Taxon(?y), family(?y, "Myctophidae"), scienceName(?x, "Mirounga leonina") → is_predator_of(?x, ?y)

在哪里:

“Taxon”是一个类,“family”和“scientificName”是一个数据类型属性,“is_predator_of”是一个对象属性。

我阅读了一些关于如何解决转换的帖子,但我无法在 Protégé 中完成,即使使用 ROWL 中的插件,任何贡献都将受到欢迎。非常感谢!

0 投票
1 回答
50 浏览

owl - SWRL 是否支持个人枚举声明?

我在 OWL 本体中做一些 SWRL 规则,如下所示:

H350, H350i,H400H401是一些有名字的个体。正如我们所见,这些 SWRL 规则的模式是相似的。所以我认为也许我们可以只用一条规则替换这些规则,如下所示:

我在 Protege 的“规则”选项卡中尝试了这种语法,但没有奏效。SWRL 是否支持这样的单个枚举语句?

0 投票
1 回答
235 浏览

protege - swrl 规则的 else 分支

我想问是否可以在SWRL中表达规则的else分支?我知道它可以表达 p->q 但我希望能够断言 r 如果 non(p)

例如 HeavyPrecipitation(?x) -> hasObservationTag(?x,FalsePositiveOutlier)

现在我想说别的 hasObservationTag(?x,TruePositiveOutlier)

如何才能做到这一点?

谢谢

0 投票
1 回答
381 浏览

java - 在 OWL API 中结合推理器以支持 OWL DL + SQWRL

我需要在 OWL 2 DL 本体上计算一些 SQWRL 规则。

问题是:

  • 当前的 OWL 2 DL 推理器仅支持 SWRL 内置函数
  • 唯一的 SQWRL SWRLAPI 引擎是 drools-swrlapi,它是 OWL 2 RL,无法处理我的 DL 本体

我考虑两种可能的解决方案:

  1. 在 Java 中直接使用 OWLAPI 在 OWL 2 DL 推理器(如 Pellet)之上执行 SQWRL
  2. 不知何故同时使用两个推理器(Pellet 和 Drools-SWRLAPI)并避免使用静态 Java 代码

所以我的问题是:是否有可能将两个推理器结合起来,这样它们就不会发生冲突?

喜欢

  1. 使用 DL 推理器进行预计算推理
  2. 在 Drools-SWRLAPI 上运行生成的本体以执行 SQWRL
  3. 将其放回 DL 推理器并验证/计算更多推论
  4. 环形

谢谢!