You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SPARQL查询斯坦福披萨本体:无法筛选无CheeseTopping的披萨

解决不含特定配料的披萨SPARQL查询问题

你的查询之所以返回含芝士配料的披萨,核心逻辑漏洞是:它只检查披萨存在至少一种非芝士配料,但并没有排除披萨同时包含芝士配料的情况。只要某个披萨类有一个非芝士配料的约束,哪怕它同时有芝士配料的约束,也会被查询命中。

修正后的查询

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>

SELECT ?pizza 
WHERE {
    ?pizza rdfs:subClassOf+ pizza:Pizza .
    # 排除所有带有芝士配料约束的披萨类
    FILTER NOT EXISTS {
        ?pizza rdfs:subClassOf [
            a owl:Restriction ;
            owl:onProperty pizza:hasTopping; 
            owl:someValuesFrom ?cheeseTopping                  
        ] .
        ?cheeseTopping rdfs:subClassOf* pizza:CheeseTopping .
    }
}

逻辑说明

  • 第一步:筛选所有属于pizza:Pizza子类的披萨类
  • 第二步:通过NOT EXISTS子查询,排除所有存在hasTopping指向CheeseTopping或其子类的约束的披萨,确保返回的披萨类完全没有芝士配料的定义

内容的提问来源于stack exchange,提问作者N_m

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 00:28:09