Jua*_*tán 6 rdf semantic-web ontology graph sparql
也许有人可以给我一个暗示.是否有可能测量属于同一本体的2个概念/类之间的距离?
例如,假设我有天文学课程和望远镜课程的本体论.两者之间存在联系,但它不是直接链接.天文学有一个名为Science的父类,而Telescope有一个名为Optical Instrument的父类,它属于名为Instrumentation的父类,它与一个名为Empirical Science的类有关,该类最终属于一个名为Science的类.
所以Telescope和Astronomy之间存在间接联系,我想找出从另一个类开始到达一个类所需的步骤数.
是否有一个简单的SPARQL查询可以解决这个问题?或者有更好的方法来完成这项工作?或者不可能使用语义Web范例找到它?
任何提示都将非常感激.
SPARQL提供了在图中搜索任意长度路径的功能,但没有机制告诉您该路径的长度.
所以你可以这样做:
SELECT * WHERE { ?s ex:property+ ?o }
Run Code Online (Sandbox Code Playgroud)
语法非常像正则表达式,所以你可以做替代,限制基数等
据我了解,SPARQL 不包含任何能够测量任意长度的间接链接的递归结构。您能做的最好的事情就是准备一组查询distance_1(a, b),distance_2(a, b)...以检查两个概念之间的特定距离。
另一种选择是使用非 SPARQL 技术发现此信息,例如使用 RDFlib 在 Python 中编写图遍历算法。