sparql - 使用自动分配的空白节点和具体数据
问题描述
我正在尝试查询使用 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 吗?
编辑:应该解释问题的原因是,在实际用例中,我有一个更复杂的查询,需要获取可变数量的这样的属性(查询是动态生成的)。所以我想要做的是摆脱带标签的节点,这样我就不必动态生成唯一的标签。
解决方案
[ ]
当最多有一个引用时有效。
在这里,我们有:
... rdf:object _:1
... rdf:subject _:1
所以两个对当前写入的空白节点的引用。
如果您可以修改查询的其余部分,则有可能。意图是否更清晰是您必须做出判断的事情。
因为在部分:
[ rdf:subject _:1 ; ....]
没有将外部[ ]
空白节点用于任何内容,因此可能会rdf:object/^rdf:subject
按照评论中的建议使用。
意图是否更清晰是您必须做出判断的事情。
推荐阅读
- amazon-product-api - 如何通过 ASIN 从亚马逊检索所有书籍类别?
- javascript - 在javascript中的promise-aware for循环中更新对象属性的问题
- python - 如何计算一个术语在使用python时出现的文档数?
- r - 在 R 中导入和合并多个 CSV
- javascript - Service Workers - 选择性地选择资源
- java - 在 Spring Boot 中自动检测 HTTP 请求的 Content-Type 匹配正文文件类型?
- javascript - 如何使用拆分为数组的字符串搜索数组?
- excel - excel在end with和for循环之间崩溃?
- linux - faillock 在 RHEL6 上将正确的密码标记为错误
- python-3.x - Python3 使用自制软件安装但未使用更新版本