首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从生产者-消费者OWL模型中实现和检索信息

从生产者-消费者OWL模型中实现和检索信息
EN

Stack Overflow用户
提问于 2022-01-24 11:11:22
回答 1查看 36关注 0票数 0

我有以下在OWL中建模的场景:

Producer ----producesResource---> Resource <------consumesResource ---- Consumer

ProducerResourceConsumer是OWL类,而producesResourceconsumesResource是对象属性。这个场景非常直观,每个生产者产生一个或多个由一个或多个消费者消耗的资源。相反,每个使用者可以消耗一个或多个资源。相应地,本体由实例/个人填充。

我想检查是否存在由消费者消费的资源,而该资源不是由生产者生产的。通过a获取此信息的优雅方法是什么:

  1. 查询在SPARQL
  2. SHACL形状图中(如果可能).
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-24 11:23:48

在SPARQL中使用非绑定筛选器是可能的,在SPARQL 1.1中更容易使用减号:

代码语言:javascript
复制
SELECT ?resource WHERE
{
  ?resource a :Resource.

  ?consumer a :Consumer;
    ?consumer :consumesResource ?resource.

 MINUS {?producer a :Producer; :producesResource ?resource.}
}

您也可以使用ASK获得布尔结果,但是SELECT允许更容易地进行调试,以验证查询是否正确。

由于SHACL允许集成SPARQL查询,这也回答了您的第二个问题,但在这种情况下,只使用SPARQL查询就更容易了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70832915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档