有人能解释一下SWRL规则的目的吗。据我所知,SWRL规则与SQL中的存储过程相同。我制定了一些规则,但不知道如何通过查询在我的应用程序中使用它们。我不知道我是否以正确的方式思考SWRL规则是为了什么,或者不是。请告诉我正确的使用方法。
看看这条规则:
Patient(?x) ^ hasValue_heartrate(?x, >160) -> Sick(?x)
在我的本体中,我有病人类,但是没有病类&甚至没有hasValue_heartrate属性。所以我应该创造这些吗?或者如何在本体中使用上述规则?
发布于 2011-03-26 16:28:38
规则是表示可以从数据集推断的其他内容的一种方式。可以从本体模型本身收集到一些推论,但其他推论可能无法用本体语言(通常是OWL)表示,并且需要更多的功能表示。您应该注意到,SWRL从未完全成为一个标准,而且它的使用也开始受到阻碍。参见对SWRL的最新最佳支持 at answers.semanticweb.com的问题
编辑:
你应该考虑使用自旋。引用这条线
现在SPIN是一个W3C提交,它已经达到了与SWRL相同的标准状态。此外,SPIN对SWRL具有关键的优势:
RIF是一项正在进行的W3C工作,一旦标准化,就会反对SWRL。SPIN是W3C团队提交的,一个名为TopSpin的推理引擎存在顶级编曲作曲家。
answers.semanticweb.com社区可能会提供更多帮助。
发布于 2011-03-29 09:24:56
SWRL可以看作是OWL的扩展。在语义上,它很好地在OWL之上分层,通常用于OWL无法表达的语句。从语法上讲,它不会很好地在OWL之上进行分层,因为它引入了一种全新的语法(注意显式变量)。然而,有些人更喜欢SWRL的语法而不是OWL的语法,甚至对于可以在OWL中成功表达的语句也使用SWRL(例如,您的示例axiom也可以用OWL表示)。
要理解OWL和SWRL之间的差异,请阅读。
我肯定会鼓励你使用SWRL。;)
(在引用类之前,您是否必须显式“创建”或“声明”类,这可能取决于您的本体编辑器或推理工具。)
https://stackoverflow.com/questions/5441182
复制相似问题