有没有办法绑定枚举SPARQL中替代属性路径的变量?

问题描述

假设我具有以下替代属性路径:

select *
where{
?sub :p1|:p2 ?ob
}

如何绑定第三个变量(?map)来跟踪每次比赛采用的路径(:p1或:p2)?

如果这不可能,还有另一种枚举路径的方法吗?

我有意避免将此谓词扩展为UNION,因为在现实生活中,我的模式包含多个属性路径,而UNIONS会使查询的时间变得荒谬。

编辑:针对评论进行澄清,我不是在寻找图遍历,而只是一对具有链接它们的属性的节点

解决方法

可以显式添加谓词变量:

select *
where{
?sub :p1|:p2 ?ob .
?sub ?pred ?ob .
}

沙盒演示:

answer

comment suggestion (equivalent)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...