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

看一下这个规则:

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


在我的本体中,我有Patient类,但没有Sick类,甚至没有hasValue_heartrate属性。所以我必须创建这些吗?
或者如何在本体中使用上述规则?

最佳答案

规则是表达可以从您的数据集推断出的其他内容的一种方式。可以从本体模型本身中收集一些推论,但是其他推论可能无法用本体论语言(通常是OWL)来表达,并且需要更多的功能表示。您应该注意,SWRL从未完全成为标准,并且不鼓励使用它。请参阅answer.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的推理引擎。
Answers.semanticweb.com社区可能会提供更多帮助。

关于rules - SWRL规则的目的是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5441182/

10-09 21:48