我正在尝试查询使用 RDF 物化词汇的数据集,如下所示:
myprefix:statement1 rdf:subject myprefix:object1 .
myprefix:statement1 rdf:predicate myprefix:isrelatedto .
myprefix:statement1 rdf:object myprefix:object2 .
myprefix:statement2 rdf:subject myprefix:object2 .
myprefix:statement2 rdf:predicate myprefix:isrelatedto .
myprefix:statement2 rdf:object myprefix:object3 .
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix myprefix: <mydomain#>
select *
from <mydomain>
where {
[ rdf:subject ?first ; rdf:predicate myprefix:isrelatedto ; rdf:object _:1 ] .
[ rdf:subject _:1 ; rdf:predicate myprefix:isrelatedto ; rdf:object ?second ] .
}
Result:
__________________ __________________
| first | second |
|__________________|__________________|
| myprefix:object1 | myprefix:object2 |
|__________________|__________________|
我可以用 [ ] 构造以某种方式替换标记的空白节点 _:1 吗?
编辑:应该解释问题的原因是,在实际用例中,我有一个更复杂的查询,需要获取可变数量的这样的属性(查询是动态生成的)。所以我想要做的是摆脱带标签的节点,这样我就不必动态生成唯一的标签。