【发布时间】:2014-09-30 07:49:24
【问题描述】:
我正在寻找可以返回指定子类在 OWL 层次结构中的位置的 SPARQL 查询。我研究了几个例子,但我能达到的最好结果是计算指定超类与其子类之间的相对路径 (thanks to Joshua Taylor)。相反,我需要计算给定子类的“绝对”深度。
我的本体包含几个顶级类,每个类后面都有一个单独的子类树。这是我的 OWL 的一部分(使用 rdfcat 实用程序转换为 TTL):
@prefix : <http://www.semanticweb.org/administrator/ontologies/2014/7/untitled-ontology-9#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
:depression a owl:Class ;
rdfs:subClassOf :pit .
:pit a owl:Class ;
rdfs:subClassOf :on_the_road .
:on_the_road a owl:Class ;
rdfs:subClassOf :traffic_accident .
:traffic_accident a owl:Class .
在这种情况下,对于给定的 depression 类,我希望得到 3、pit -> 2、on_the_road -> 1,traffc_accident(顶级类)-> 0。
【问题讨论】: