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

SPARQL中如何仅获取BGP查询结果里的IRI/URI?

如何在SPARQL中仅检索BGP结果里的IRI类型值

嘿,这个需求挺常见的,在SPARQL里要筛选出仅为IRI类型的?o结果,只需要用内置的isIRI()函数搭配FILTER子句就行,直接给你改好的查询:

SELECT ?s ?o 
WHERE {
  ?s ?p ?o .
  FILTER(isIRI(?o))
} 
LIMIT 100

简单解释下:

  • isIRI(?o)会检查变量?o绑定的值是否是IRI(也就是我们常说的URI,SPARQL标准里用IRI作为更通用的术语),返回布尔值
  • FILTER子句会只保留满足条件的结果,这样最终返回的?o就全是IRI类型了

额外提一句:如果你看到有些老代码用isURI(),其实它和isIRI()在大部分场景下效果一致,但IRI是W3C推荐的标准术语,所以更建议用isIRI()。

要是你还想排除其他类型(比如空白节点、字面量),这个过滤条件已经帮你搞定了——它只会留下符合IRI格式的资源标识符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:59:21