我一直在通过 Protege 查看和玩 OWL,我想知道我是否正确理解“工作流程”和它的想法(从头开始构建数据库:
- 使用 Protege 或同等工具为您的数据生成 OWL 本体
- 将此模式导出到 RDF
- 使用定义为三元组中某些元素的类以及目标数据
- 将您的三重存储导出到 RDF
- 使用 openRDF/sesame 或 Jena 加载定义的数据和本体
- 根据您的 OWL 本体验证您的 RDF 三元组以确保一切正常
- 使用 SPARQL 从 RDF 三元存储中获取数据
- 使用 OWL 推理器做某事(这里不太清楚)
我想了解其他人在做什么以及他们如何解决此类问题。
另外我有一个具体的问题:
似乎猫头鹰推理器仅用于确定本体的子类超类关系。但就数据而言,您如何在 SPARQL 中查询子类 - 超类关系。例如,如果我的三重商店定义 (pizzaID1 is-a marghareta) 并且我在 SPARQL 中查询素食披萨,我如何确保返回 PizzaID1。
我认为答案与生成“全图”有关,其中明确说明了每种关系。sparql 在查询三元组时是否会进行任何自动推理,或者是否需要生成这样一个完整的图?