我的 kg 中有多个不同类型的实体实例。我想使用 VALUES 来描述我的所有类型,并使用这些值选择 1 个(样本)实例,然后选择该主题的所有值。类似于
select * where {
select ?s where {
?typ VALUES ( ex:t1 ex:t2 ex:t3 ) .
?s a ?typ .
# get one ?s of type ex:t1, ex:t2, ex:t3
} limit 1
?s ?p ?o .
}
上面的代码在退出前只会抓取 1 个值。我尝试将 VALUES 放在子查询之外,但也没有用。我该怎么做呢?
您需要修复 VALUES 的语法,然后实际索取样本。
我
GROUP BY
为了清楚起见添加了它。你可以省略它。如果您想要获得包含三个样本的单一结果,则可以使用子查询来获得。
根据您的评论进行更新
SPARQL 1.1 不能做太多事情,但单独请求样本可能比 30 个子查询要短: