sparql - 如何编写将连接节点从给定节点返回到根的 SPARQL 查询?
问题描述
我正在尝试编写一个 SPARQL 查询,给定一个节点,将连接的节点返回到根。
我试过使用属性路径:
SELECT ?subproperty WHERE { <leaf node URI> <http://www.w3.org/2000/01/rdf-schema#subPropertyOf>+ ?subproperty . }
但如果可能的话,我还想在同一个查询中遍历子类。基本上,我想找到从任何给定节点到根的所有父节点。
所以我的模型目前有:
A
类 B 类和 C 类(A 的子类)
属性 D(B 的属性)
属性 E(D 的子属性)
我想做一个查询,如果给定 E,则返回如下内容:
物业E,物业D,B级,A级
该模型将来可能会发生变化,因此我希望查询能够处理叶节点和根节点之间的任何长度。感谢您的任何帮助或指点!(也很抱歉模型的简化表示,对本体来说非常新)
解决方案
我最终使用了SPARQL 的通配符技巧:两个节点之间是否有任何路径?遍历节点。我刚刚编辑了通配符,以便它只查看父节点。
推荐阅读
- swiftui - 从透明到白色的渐变
- python - 笔记本中 %%timeit 和 time() 之间的不一致
- ios - 有没有办法丢弃 VoIP 推送通知呼叫请求?
- sql - 大表上的优化 SQL 更新
- api - 是否可以使用 nuxtjs 检测 api 更新?
- html - CSS/SCSS 的不同渲染行为
- unity3d - 使用 MRTK 2.4 的自定义控制器和 GrabPointer 不起作用
- sql-server - 365天滚动窗口SQL
- c# - 我只想在按下空格键时在 y 轴上移动游戏对象
- functional-programming - sanctuary.js 中的数据建模挑战