问题描述
假设我具有以下替代属性路径:
select *
where{
?sub :p1|:p2 ?ob
}
如何绑定第三个变量(?map)来跟踪每次比赛采用的路径(:p1或:p2)?
如果这不可能,还有另一种枚举路径的方法吗?
我有意避免将此谓词扩展为UNION,因为在现实生活中,我的模式包含多个属性路径,而UNIONS会使查询的时间变得荒谬。
编辑:针对评论进行澄清,我不是在寻找图遍历,而只是一对具有链接它们的属性的节点
解决方法
可以显式添加谓词变量:
select *
where{
?sub :p1|:p2 ?ob .
?sub ?pred ?ob .
}
沙盒演示:
answer
comment suggestion (equivalent)