sparql - 多个层次关系的 SPARQL 传递查询
问题描述
我有一棵树,我想传递遍历。
我面临的一个问题是我有一个父概念:
parentConcept -> hierRelationship1 -> child -> hierRelationship2 ->
-> grandChild -> hierelationship3 -> greatGrandChild -> hierelationship2 -> greatGreatGrandChild
所以基本上我有几个层次关系混合层次结构。我确实知道 parentConcept 的所有直系孩子都有关系skos:broader
- 这是孙子 + 事情变得毛茸茸的地方。
到目前为止,我尝试过的是:
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?child
WHERE {
?rel rdfs:subPropertyOf skos:broader . # get subPropertyOf rels
?child skos:broader <parentConcept> .
?grandchild ?rel ?child
}
理想情况下,我想“解包”我的 ?rel 变量,以便可以将传递运算符 (+) 添加到此变量中的每个关系,但我不确定这在 sparql 中是否可行。
有没有人看到更好的方法来做到这一点,或者我在正确的轨道上?
我也尝试过包含 OPTIONAL{} 查询,例如
OPTIONAL {grandchild2 ?rel grandchild}
,但这非常慢并且感觉笨拙
解决方案
推荐阅读
- wordpress - WordPress Wesbsite Browser Tab Text Problem
- mongodb - MongoDB服务器警告
- python - Remaking snake need ideas on how to make snake longer and move around with a longer snake
- r - R多文件操作
- jquery - SQL Query 仅选择其中一列的最大值的数据
- java - 管道脚本尝试在 @2 工作区中创建文件
- android - 运行 React Native 应用程序时,Android Studio 是否应该启动 Metro Bundler?
- c# - 从 Group by LINQ 语句 C# 返回多个值
- scala - 在 Spark 映射中使用中间变量
- javascript - 澄清一下我对 JavaScript 的一点理解