可选备用SPARQL模式的替代方案? [英] Alternatives to the OPTIONAL fallback SPARQL pattern?
本文介绍了可选备用SPARQL模式的替代方案?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要为目标集中的每个资源检索单个图像,并按优先级顺序测试多个非独占谓词。
我正在currently使用标准的可选后备模式,大致如下
select ?r ?i where {
?r a dbo:Automobile .
optional { ?r <http://dbpedia.org/ontology/thumbnail> ?i }
optional { ?r <http://xmlns.com/foaf/0.1/depiction> ?i }
optional { ?r <http://xmlns.com/foaf/0.1/logo> ?i }
optional { ?r <http://schema.org/image> ?i }
}
但这种方法在一些后端被证明是麻烦的:有人知道有什么简单/高效的替代方法吗?
推荐答案
选项有什么问题?重复使用?i
?
另一种方法是获取每个备选方案,然后选择第一个方案集。
select ?r ?i where {
?r a dbo:Automobile .
optional { ?r <http://dbpedia.org/ontology/thumbnail> ?i1 }
optional { ?r <http://xmlns.com/foaf/0.1/depiction> ?i2 }
optional { ?r <http://xmlns.com/foaf/0.1/logo> ?i3 }
optional { ?r <http://schema.org/image> ?i4 }
BIND(COALESCE(?i1,?i2,?i3,?i4) AS ?i)
}
这篇关于可选备用SPARQL模式的替代方案?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文