【问题标题】:RDF and OWL workflow questionRDF 和 OWL 工作流程问题
【发布时间】:2011-02-26 13:10:50
【问题描述】:

我一直在通过 Protege 查看和玩 OWL,我想知道我是否正确理解“工作流程”和它的想法(从头开始构建数据库:

  1. 使用 Protege 或等效工具为您的数据生成 OWL 本体
  2. 将此架构导出到 RDF
  3. 将定义为三元存储中某些元素的类与您的目标数据一起使用
  4. 将您的三元存储导出到 RDF
  5. 使用 openRDF/sesame 或 Jena 加载定义的数据和本体
  6. 根据您的 OWL 本体验证您的 RDF 三元存储,以确保一切正常
  7. 使用 SPARQL 从您的 RDF 三元存储中获取数据
  8. 使用 OWL 推理器做某事(这里不太清楚)

我想了解其他人在做什么以及他们如何解决此类问题。

另外我还有一个具体问题:

似乎猫头鹰推理器仅用于确定本体的子类超类关系。但就数据而言,您如何在 SPARQL 中查询子类 - 超类关系。例如,如果我的三重商店定义 (pizzaID1 is-a marghareta) 并且我在 SPARQL 中查询素食披萨,我如何确保返回 PizzaID1。

我认为答案与生成“全图”有关,其中明确说明了每种关系。 sparql 在查询三元组时是否会进行任何自动推理,或者是否需要生成这样的完整图?

【问题讨论】:

    标签: rdf owl protege semantic-analysis


    【解决方案1】:

    有许多可能的工作流程,但实际上不必那么复杂。

    1. 在某些编辑器中生成了您的 OWL 本体
    2. 将本体导出为 RDF
    3. 将本体导入三重存储
    4. 将数据导入三重存储
    5. 使用 SPARQL 查询数据

    子/超类推理是推理器的用途,如果您使用带有内置推理器的存储,那么 SPARQL 将使用它的信息,所以如果您这样做:

    SELECT ?pizza
    WHERE {
      ?pizza a :VegitarianPizza .
    }
    

    您将取回属于 VegitarianPizza 类或其任何子类的所有比萨饼。

    我猜 VegitarianPizza 类在您的本体中被定义为没有肉类成分的披萨?而不是手动将每个披萨分配到一个班级?不然真的不需要OWL,直接用RDFS就行了,简单多了。

    【讨论】:

      猜你喜欢
      • 2011-12-12
      • 1970-01-01
      • 2012-03-10
      • 2016-07-29
      • 2011-07-01
      • 2018-10-13
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多