RDF和OWL工作流问题

RDF和OWL工作流问题,rdf,owl,protege,semantic-analysis,Rdf,Owl,Protege,Semantic Analysis,我一直在通过Protege研究和使用OWL,我想知道我是否正确理解“工作流”及其概念(从头开始建立数据库: 使用Protege或等效工具为数据生成OWL本体 将此架构导出到RDF 将定义为triplestore中某些元素的类与目标数据一起使用 将您的triplestore导出到RDF 使用openRDF/sesame或Jena加载定义的数据和本体 根据OWL本体验证RDF triplestore,以确保一切正常 使用SPARQL从RDF triplestore获取数据 使用猫头鹰推理器做一些事情

我一直在通过Protege研究和使用OWL,我想知道我是否正确理解“工作流”及其概念(从头开始建立数据库:

  • 使用Protege或等效工具为数据生成OWL本体
  • 将此架构导出到RDF
  • 将定义为triplestore中某些元素的类与目标数据一起使用
  • 将您的triplestore导出到RDF
  • 使用openRDF/sesame或Jena加载定义的数据和本体
  • 根据OWL本体验证RDF triplestore,以确保一切正常
  • 使用SPARQL从RDF triplestore获取数据
  • 使用猫头鹰推理器做一些事情(这里不太清楚)
  • 我想了解其他人正在做什么,以及他们是如何处理这类问题的

    此外,我还有一个具体问题:

    似乎owl推理器仅用于确定本体的子类-超类关系。但在数据方面,如何在SPARQL中查询子类-超类关系。例如,如果我的三重存储定义(pizzaID1是-a marghareta)我在SPARQL中查询素食比萨饼,如何确保比萨饼ID1被返回


    我认为答案与生成一个“完整的图形”有关,在这个图形中,每个关系都被显式地表示出来。sparql在查询triplestores时是否进行自动推理,或者是否需要生成这样一个完整的图形?

    有许多可能的工作流,但它确实不必那么复杂

  • 在某个编辑器中生成OWL本体
  • 将本体导出为RDF
  • 将本体导入到triplestore
  • 将数据导入到triplestore
  • 使用SPARQL查询数据
  • 子类/超类推理是推理器的用途,如果您使用带有内置推理器的存储,则SPARQL将使用它的信息,因此如果您这样做:

    SELECT ?pizza
    WHERE {
      ?pizza a :VegitarianPizza .
    }
    
    您将获得属于VegitarianPizza类或其任何子类的所有Pizza

    我猜VegitarianPizza类在你的本体论中被定义为一个没有肉类成分的比萨饼?而不是手工将每个比萨饼分配给一个类?否则真的不需要OWL,你可以使用RDFS,这更简单