问题标签 [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.
rules - SWRL 规则的目的是什么?
任何人都可以解释 SWRL 规则的目的。据我了解,SWRL 规则与 SQL 中的存储过程相同。我制定了一些规则,但不知道如何通过查询在我的应用程序中使用它们。我不知道我是否以正确的方式思考 SWRL 规则的用途。请告诉我使用它们的正确方法。
看看这个规则:
在我的本体中,我有 Patient 类,但没有 Sick 类,甚至没有 hasValue_heartrate 属性。那么我应该创建这些吗?或者我如何在我的本体中使用上述规则?
sparql - SWRL 规则不适用于我的本体
我正在写一篇关于天气如何影响人们健康(气象病)的毕业论文。本体如图所示:http: //dl.dropbox.com/u/5322973/WeatherHealthcast1%20-%20Properties.PNG
于是,a 写了一个简单的 SWRL 规则:
这意味着如果天气温度高于 25°C,则患者很有可能患有偏头痛(偏头痛 1 是“疾病”类的个体)我在本体中输入了一些个体并尝试运行 SQWRL查询规则
它工作正常。但是,当我尝试运行 SPARQL 查询时:
似乎该规则不适用(使用此 SPARQL 查询,如果天气温度为 30°C,我想获得所有可能的疾病)。有谁知道如何进行这项工作,如何将 SWRL 规则包含到 SPARQL 查询中?
semantic-web - 使用 OR 语句的 SWRL 规则
我试图找出一种实现需要使用 OR 类型语句的 SWRL 规则的方法。这是场景:本体有一个类“MachineTool”,它有一个对象属性“hasProcess”和一些进程类。我们希望能够获得具有“EndMilling”或“Drilling”的 hasProcess 值的 MachineTool 个体列表。
如果允许使用“或”语句,则 SWRL 规则将类似于:
但这条规则是不合法的。有人知道可以完成我们正在寻找的规则(或一组规则)吗?我曾认为可能是另一种选择(但尚未测试,Protege 目前很奇怪):
我欢迎所有关于这个问题的想法。
jena - Pellet 不包括我的 SWRL 规则
我构建了一个使用 SWRL 规则进行推理的本体。当我在 Protege 中进行 SQWRL 查询时,它工作正常。问题是,当我想将 Pellet 与 Jena 一起使用时,Pellet 似乎在查询中不包含 SWRL 规则。我包括这样的 Pellet:
我也试过这个:
但没有进展。有任何想法吗?我的毕业论文需要这个。谢谢
jena - 是否可以从 Jena SWRL 规则中触发 Java 方法
我正在对基于本体的上下文管理和基于过程的上下文管理进行性能分析。但是,为了使用 PCM 案例研究创建类似的场景,我需要在推理过程中直接从 Jena SWRL 规则中触发 Java 方法。我做了很多研究都无济于事,但我的教授声称耶拿是可能的。例如,
jena - 用 Pellet 推理 Jena 框架中的 SWRL 规则
我正在尝试使用 Jena 框架来编辑使用 Protoge 4.2 构建的现有本体。即更改属性值或添加个人或类,然后进行推理。假设在本体中我们有这样一条规则:hasAge(?p,?age)^swrlb:greaterThan(?age,18)->Adult(?p)。我希望能够更改耶拿一侧的 hasAge 属性,看看某人是否是成年人。你能给我一些关于这个的示例代码吗?任何帮助表示赞赏。
semantics - Protege 4 中的 SWRL 选项卡
protege SWRL 选项卡在 Protege 4 版本中不可用,我已尝试过 protege 4.1 和 protege 4.2。据说在 protege 中编辑 SWRL 规则的 axiome 插件仅在 protege 3 版本中有效。
谁能告诉我插件或程序包含插件以在 protege 中编辑 SWRL 规则?
ontology - 为什么我的本体规则不起作用
我构建了一个简单的本体来测试 SWRL 规则如何推断本体中个体之间的新关系,但它不起作用。我的规则是:
并且可以读作
x 有父亲 y,x 有母亲 z → y 是 z 的配偶)。
我的本体中有三个人:丈夫、妻子和儿子。我设定孩子有妈妈是妻子,有爸爸是丈夫。然后我的规则被用来设置丈夫是妻子的配偶。我使用Jess插件来测试我的规则,但没有结果。为什么规则不起作用?我的规则有问题,还是 Jess on Protege 3.3 有问题?
semantic-web - 检查 OWL 表达式之间的逻辑蕴涵关系?
我有一个简单的问题,我怀疑它没有简单的答案。本质上,我想检查一个 OWL 表达式 (#B) 从另一个 (#A) 逻辑上遵循是否是真的 - 换句话说,我想问:#A -> #B 是真的吗?
原因是我正在为应用程序编写匹配算法,该算法将基于知识的结构(由#KnowledgeStructure 类表示)与描述当前应用程序状态需求的结构(#StateRequirement)匹配。两种结构都具有属性,这些属性具有表示第三种结构(#Model)状态下的 OWL 表达式的字符串值。它们是: #KnowledgeStructure.PostCondition 表示应用于#Model 的知识结构将如何转换#Model;和#StateRequirement.GoalCondition,它表示应用程序旨在实现的#Model 状态。因此,我想通过检查#KnowledgeStructure.PostCondition 是否产生所需的#StateRequiremment.GoalCondition 来查看#KnowledgeStructure 是否满足#StateRequirement。我可以抽象地表达为:(#KnowledgeStructure.Postcondition => #StateRequirement.GoalCondition) => Match(#KnowledgeStructure, #StateRequirement)。不太容易混淆,我可以将其表示为: ((#A -> #B) -> Match(#A, #B)) 其中 #A 和 #B 都是有效的 OWL 表达式。
在一般情况下,我希望能够表达以下规则:“如果表达式 #B 从 #A 遵循是真的,那么表达式 Match(#A, #B) 也是真的”。
本质上,我的问题是:我如何在 OWL 中提出或实现这样的规则?如何测试一个表达式是否来自另一个表达式?此外,如果没有明确说明这种关系,现有的推理器是否足够强大来确定两个表达式之间的关系 #A -> #B?
ontology - SQWRL 查询和 SWRL 规则的数据库
我已经使用 Protégé 构建了一个本体,但是如何向其中写入数据?我们需要有单独的数据库吗?我跟着这个链接。现在数据库已在 SQL 中创建,但我不知道如何将数据放在那里。以及如何根据本体匹配表和列?我需要手动创建所有内容还是可以进行任何导入?