【问题标题】:How to write a SPARQL query that returns the connected nodes from a given node to the root?如何编写将连接节点从给定节点返回到根的 SPARQL 查询?
【发布时间】:2021-05-06 23:30:12
【问题描述】:

我正在尝试编写一个 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 jena ontology


【解决方案1】:

我最终使用了来自SPARQL: is there any path between two nodes? 的通配符技巧来遍历节点。我刚刚编辑了通配符,使其只查看父节点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2022-01-17
    • 2020-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多