这是以传递关系获取所有节点的扩展
是否可以使用SPARQL在两个传递节点之间获取所有传递节点?我试图从这个网站挖掘出来并回答-semanticweb,但是如果路径的长度没有像Can JENA ARQ中所建议的那样定义属性路径详细信息,那么它似乎是不可能的.但我看到约书亚·泰勒 对第一个问题的回答有一线希望.
[编辑]我提供了我的数据样本的图片,以显示问题的严重程度:

[编辑]我想找到的路径:a和:h,应导致四个结果:
a -> b -> c -> d -> h.
a -> b -> c -> e -> h.
a -> f -> h.
a -> g -> h.
[编辑] 在评论中使用Joshua Taylor的解决方案,我将每个节点分组为单个结果,这是我到目前为止对此问题最接近的解决方案.
我认为这在纯 SPARQL 中是不可能的。解决相关问题的关键是group by结果的不同行有一些东西。一般来说,我不知道每条路径是否有一些独特的东西,以便group by为每条路径获取一个结果行。
但是,在您的特定数据中(这是特定数据的属性,而不是一般的图形),有一个属性可以区分不同的路径:每个路径都包含一个对该路径唯一的节点。也就是说,对于每个节点d、e、f和g,都只有一条路径包含该节点。这意味着对于这个特定的示例,如果您能找到一种方法来识别\xc2\xa0query 中的唯一节点,您也许能够做到这一点。不过,我也不相信这是?start可能的,因为这相当于问同样的问题:“和之间有多少条路径x(在本例中、、、 和x之一在哪里)?”defg
| 归档时间: |
|
| 查看次数: |
185 次 |
| 最近记录: |