【问题标题】:What can be done using OWL reasoning?使用 OWL 推理可以做什么?
【发布时间】:2014-09-16 09:40:09
【问题描述】:

我正在研究 OWL 本体,我需要一些具体问题 我只需要本体模式(TBox),我迷路了,可以进行哪些操作 使用推理和 sparql 和 OWL API 完成了吗?

更具体地说,我需要以下内容: 1-检查类和属性之间的基数。 2-找到特定类的包含关系。 3-检查特定事实是否成立(例如,两个类是否不相交) 4- 找到一组类之间的路径(类属性系列)。

推理、sparql 和 OWL API 分别用于什么?哪一种适合我的情况?

其实我不知道如何开始和使用什么技术。 此外。请您给我一些参考资料吗?

谢谢。

【问题讨论】:

标签: sparql owl ontology owl-api reasoning


【解决方案1】:

第 1 点不清楚:您想知道断言了哪些基数公理吗?这可以在没有推理机的情况下完成。 4号也有点模糊,能举个例子吗?

2、3 和 5 需要推理机才能准确执行。

推理器是一个将显式隐含信息的程序:包含、实现、一致性检查都是需要推理器的操作。在你的任务中,显然需要包容。

OWLAPI 是一个用于操作 OWL 本体的 Java API;在您的情况下,编写连接代码以使用推理器来完成您的任务可能会很有用。兼容的推理器包括 Pellet、HermiT、FaCT++ 等。

SPARQL 是一种 RDF 查询语言。 OWLAPI 不支持它。您可以将它用于您的任务,但在我看来,它们看起来更面向 OWL 而不是面向 RDF。 Jena 是一个 Java 库,支持 RDF、OWL、SPARQL 以及与 Pellet 等推理器的接口。根据您决定如何解决上述任务,它可能比 OWLAPI 更符合您的要求。

耶拿教程: https://jena.apache.org/tutorials/index.html

OWLAPI 文档: https://github.com/owlcs/owlapi/wiki/Documentation

【讨论】:

  • 澄清1和4: 1-在医疗保健领域本体中:让我们考虑一个患者类别和一个疾病类别,一个患者可能患有不止一种疾病(例如最多十个),所以我们可以在我们的本体中为(患者患有疾病)定义一个基数限制,最小基数为 1,最大基数为 10。我想为本体中的某些类检索这些基数限制。最好的方法是什么?
  • 4- 让我们在本体中考虑以下公理(患者有疾病)、(疾病有治愈)、(治愈有成本),然后我想检索这整套类及其对象属性(患者、hasDisease、疾病、hasCure、cure、hasCost、cost),(可以认为是图深度搜索)如何使用本体工具进行?
  • 最后一个通知,我只对TBox感兴趣。我不在乎实例是否会有所不同。但仍然没有明白 sparql 与推理机有何不同。 sparql 用于什么类型的查询?
  • SPARQL 与推理器不同,就像 SQL 与数据库不同:一种是询问查询的语言,另一种是回答这些查询的工具。关于其他问题,OWL API 和 Jena 都可以用于此目的。我建议阅读他们的文档,有教程和示例来了解它们的工作原理。我已经添加了答案的链接。
  • 非常感谢 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-08
  • 1970-01-01
  • 2010-12-11
  • 1970-01-01
  • 1970-01-01
  • 2013-09-04
相关资源
最近更新 更多