Rdf 输出特定根目录下的所有父目录
我有一个结构,从根到叶有不同的长度。我希望将它们输出到一个列表中。我也希望所有的父母和祖父母都能进入市场。最大深度为5级,如何将结果仅绑定到Market_segment,而不转到Market_segment的父级。当前,如果路径短于5,则此查询将返回Market_段的父级Rdf 输出特定根目录下的所有父目录,rdf,sparql,semantic-web,owl,Rdf,Sparql,Semantic Web,Owl,我有一个结构,从根到叶有不同的长度。我希望将它们输出到一个列表中。我也希望所有的父母和祖父母都能进入市场。最大深度为5级,如何将结果仅绑定到Market_segment,而不转到Market_segment的父级。当前,如果路径短于5,则此查询将返回Market_段的父级 PREFIX mdy: <http://www.owl-ontologies.com/mdys.owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema
PREFIX mdy: <http://www.owl-ontologies.com/mdys.owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?node ?parent ?gparent ?ggparent ?gggparent ?ggggparent
WHERE {
?node rdfs:subClassOf* mdy:Market_Segment
OPTIONAL {?node rdfs:subClassOf ?parent.
OPTIONAL {?parent rdfs:subClassOf ?gparent.
OPTIONAL {?gparent rdfs:subClassOf ?ggparent.
OPTIONAL {?ggparent rdfs:subClassOf ?gggparent.
OPTIONAL {?gggparent rdfs:subClassOf ?ggggparent.
}}}}}
}
使用反向属性路径:
PREFIX mdy: <http://www.owl-ontologies.com/mdys.owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?node ?parent
WHERE {
?node ^rdfs:subClassOf* mdy:Market_Segment .
?node ^rdfs:subClassOf ?parent
}
另见
您是要做还是要帮忙?它们是相似的问题。您不会很容易得到不同的变量?parent、gparent等,但您可以得到每个节点的深度。