SPARQL查询 - 类和子类提供类名和命名空间

时间:2008-12-17 18:22:18

标签: rdf semantic-web sparql owl ontology

如何在给定类名和命名空间的情况下使用SPARQL查询从RDF数据源获取具有属性的所有类属性及其子类?

2 个答案:

答案 0 :(得分:3)

this

怎么样?
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?subClass ?predicate 
WHERE {
   ?subClass rdfs:subClassOf <http://dbpedia.org/ontology/Work> .
   ?predicate rdfs:domain ?subClass
}

尝试使用SPARQL工具,例如DBPedia's SNORQL interface

答案 1 :(得分:3)

您是否尝试进行递归SPARQL查询?换句话说,选择一个给定的个体及其所有属性。如果属性的对象是另一个人,请选择其属性,依此类推。

我不相信SPARQL支持这一点。

天真的方法是做这样的事情(假设你的意思是个人而不是阶级,这实际上符合你的要求但不处理下一个“三级”三元组)。

CONSTRUCT {
    ?s ?p ?o .
    ?o ?p2 ?o2 .
} WHERE {
    ?s ?p ?o .
    ?o ?p2 ?o2 .
}

请注意,如果?o2是任何语句的主语,则此查询不会返回它们。