假设我有一个情况,我只想要那些修理我的汽车的所有问题的商店。示例知识图如下图所示。
带有上述实例的知识图示例图像
在本例中:
<.car> <.hasRepair> <.engine>
<.car> <.hasRepair> <.color>
<.car> <.hasRepair> <.body>
<.shop1> <.doesService> <.color>
<.shop2> <.doesService> <.engine>
<.shop2> <.doesService> <.color>
<.shop2> <.doesService> <.body>
我想要一个SPARQL查询,它将只选择shop2,因为它匹配汽车的所有修理,而shop1不解决所有修理。
而且,商店2可以提供汽车不需要任何修理的其他服务(如换油)
简单点,只返回提供汽车发动机服务的商店。
SELECT ?sh WHERE {
?sh rdf:type Shop.
?e rdf:type Engine.
?sh doesService ?e .
}