SWRL规则的目的是什么?

时间:2011-03-26 08:24:00

标签: rules semantic-web owl knowledge-management swrl

任何人都可以解释SWRL规则的目的。据我所知,SWRL规则与SQL中的存储过程相同。我已经制定了一些规则,但不知道如何通过查询在我的应用程序中使用它们。我不知道我是否以正确的方式思考SWRL规则的意图。请告诉我使用它们的正确方法。

看看这条规则:

Patient(?x) ^ hasValue_heartrate(?x, >160) -> Sick(?x)

在我的本体论中,我有患者类,但没有病态的课程和甚至没有hasValue_heartrate属性。我应该创建这些吗? 或者我如何在我的本体论中使用上述规则?

2 个答案:

答案 0 :(得分:10)

规则是表达可以从数据集中推断出的其他内容的一种方式。可以从本体模型本身收集一些推论,但其他推论可能无法在本体语言(通常是OWL)中表达,并且需要更多功能表示。您应该注意到SWRL从未成为标准,并且开始不鼓励使用它。请参阅answers.semanticweb.com上的问题latest best support for SWRL

编辑:

您应该考虑使用SPIN。引用this thread

  

现在SPIN是W3C提交,它已达到相同的标准状态   作为SWRL。此外,SPIN对SWRL具有关键优势:

     
      
  • 它使用SPARQL--每个RDF商店都支持的标准
  •   
  • 与SWRL不同,SPIN是一项积极的努力。 SWRL已被RIF淘汰,而SPIN则是RIF的补充
  •   

RIF是一项正在进行的W3C工作,曾经标准化将弃用SWRL。 SPIN is a W3C Team Submission,名为TopSpin的推理引擎存在within Top Braid Composer

answers.semanticweb.com社区可能会提供更多帮助。

答案 1 :(得分:3)

SWRL可被视为OWL的延伸。从语义上讲,它在OWL之上很好地分层,通常用于OWL无法表达的语句。从语法上讲,它并没有很好地在OWL之上进行分层,因为它引入了一种全新的语法(例如,显式变量)。但是,有些人更喜欢SWRL的语法和OWL,甚至使用SWRL甚至可以在OWL中成功表达的语句(例如你的例子公理也可以在OWL中表达)。

要理解OWL和SWRL之间的区别,例如

我绝对鼓励你使用SWRL。 ;)

(在引用类之前是否必须明确“创建”或“声明”类可能取决于您的本体编辑器或推理工具。)