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

基于pizza本体RDF片段,已知实体与关系如何编写SPARQL查询对应对象?

针对该场景的SPARQL查询语句

你给出的Pizza本体片段中,hasBase的取值约束是通过OWL Restriction结构挂载在Pizza类的rdfs:subClassOf属性下的,对应查询语句如下:

# 先定义命名空间前缀,简化URI书写
PREFIX pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

# 指定要返回的宾语变量为?object
SELECT ?object
WHERE {
  # 匹配Pizza类的父类约束中的OWL限制节点
  pizza:Pizza rdfs:subClassOf ?restriction .
  # 匹配限制节点的属性:限制的属性为hasBase,取值范围为我们要找的宾语
  ?restriction a owl:Restriction ;
               owl:onProperty pizza:hasBase ;
               owl:someValuesFrom ?object .
}

如果你后续处理的是直接存在<Pizza, hasBase, PizzaBase>这类显式三元组的数据集,不需要走OWL限制结构,可以使用更简洁的查询:

PREFIX pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>

SELECT ?object
WHERE {
  pizza:Pizza pizza:hasBase ?object .
}

执行上述查询后,返回的?object结果就是你需要的PizzaBase实体。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:36:03