Sparql 如何使用skos:brother获取子节点和父节点之间的路径长度*

Sparql 如何使用skos:brother获取子节点和父节点之间的路径长度*,sparql,dbpedia,Sparql,Dbpedia,我有一个从父类别获取终端叶节点的查询 select distinct ?subcat where { ?subcat skos:broader* category:Buildings_and_structures_in_France_by_city . optional { ?subsubcat skos:broader ?subcat } } group by ?subcat having count(?subsubcat) = 0 如何获取子节点?子节点和父节点类别之间的路径长

我有一个从父类别获取终端叶节点的查询

select distinct ?subcat where {
  ?subcat  skos:broader* category:Buildings_and_structures_in_France_by_city .
  optional { ?subsubcat skos:broader ?subcat }
} 
group by ?subcat
having count(?subsubcat) = 0
如何获取子节点
?子节点
和父节点
类别之间的路径长度:法国城市的建筑和结构,以便输出类似于


如果真正的任务是在法国寻找建筑物和构筑物,那么你可以要求一些适当类型的此类物品。例如:

选择不同的建筑位置{
值?类型{dbpedia owl:ArchitecturalStructure
dbpediaowl:构建
dbpedia owl:Place}
?建筑a型;
dcterms:主题/SKO:范围更广*类别:法国的建筑和构筑物
} 


这只得到了大约700个结果。如果你发现一些不是法国,看看他们的价值观,看看你可以根据什么排除他们。也许您可以添加一个过滤器来限制纬度和经度,或国家/地区值等。

如果有唯一的路径,那么您可以这样做。如果有多条路径,那么你就不能。我认为你指向另一篇文章的链接不会达到你的目的。我删除了它。关于这条独特的道路,怎么能做到呢?好的,我会的,再次感谢。我今天发布的另一个问题呢?这是一个类似的问题。这就是我一直在做的,我只是认为获取路径长度可能是一种更有效的过滤技术,谢谢,尽管你的问题没有提到你已经在这样做了。我的错,我想保持它简单和更正确的路径长度点,但你是对的,我应该这样做。