获取直接和间接实例之间的关系 a class?
Get relationships between direct and indirect instances a class?
我有一个名为 WeatherPatterns 的 class,它有许多子classes 并且子classes 命名为 Individuals/Instances。
我想要一个 sparql 查询来检索所有相互关联的 WeatherPatterns 实例。例如,输出三元组应如下所示。
Cloud produces Rain
Rain causes Flood
如何查询?提前致谢
如果没有您的数据,我们无法进行精确查询,但如果您正在寻找 WeatherPatterns 的直接或间接实例之间的关系,那就不太对了难:
select ?s ?p ?o {
#-- Make sure that ?s and ?o are
#-- instance of WeatherPatterns
#-- or its subclasses.
?s a/rdfs:subClassOf* :WeatherPatterns .
?o a/rdfs:subClassOf* :WeatherPatterns .
#-- Find relationships between
#-- ?s and ?o.
?s ?p ?o .
}
属性路径?s a/rdfs:subClassOf* :WeatherPatterns使用a作为标准缩写对于 rdf:type,当 ?s 属于 class 时匹配,该 class 由 链相关rdfs:subClassOf 属性到 :WeatherPatterns。 (链的长度可以为零,这意味着 ?s 是 :WeatherPatterns 的直接实例。)如果您想将两者结合起来签到一个,你也可以这样做:
:WeatherPatterns ^(a/rdfs:subClassOf*) ?s, ?o .
我有一个名为 WeatherPatterns 的 class,它有许多子classes 并且子classes 命名为 Individuals/Instances。
我想要一个 sparql 查询来检索所有相互关联的 WeatherPatterns 实例。例如,输出三元组应如下所示。
Cloud produces Rain
Rain causes Flood
如何查询?提前致谢
如果没有您的数据,我们无法进行精确查询,但如果您正在寻找 WeatherPatterns 的直接或间接实例之间的关系,那就不太对了难:
select ?s ?p ?o {
#-- Make sure that ?s and ?o are
#-- instance of WeatherPatterns
#-- or its subclasses.
?s a/rdfs:subClassOf* :WeatherPatterns .
?o a/rdfs:subClassOf* :WeatherPatterns .
#-- Find relationships between
#-- ?s and ?o.
?s ?p ?o .
}
属性路径?s a/rdfs:subClassOf* :WeatherPatterns使用a作为标准缩写对于 rdf:type,当 ?s 属于 class 时匹配,该 class 由 链相关rdfs:subClassOf 属性到 :WeatherPatterns。 (链的长度可以为零,这意味着 ?s 是 :WeatherPatterns 的直接实例。)如果您想将两者结合起来签到一个,你也可以这样做:
:WeatherPatterns ^(a/rdfs:subClassOf*) ?s, ?o .