Protege 4.3中的SPARQL

时间:2014-12-23 21:17:41

标签: sparql protege protege4

我需要为我的查询返回个人:

SELECT ?subject ?class
            WHERE { ?subject rdfs:subClassOf ?class. 
?class rdfs:comment "linear"@en}

但它只适用于子类。我应该替换不同运营商的rdfs:subClassOf吗?

2 个答案:

答案 0 :(得分:1)

您的查询专门要求?subject ?class 的子类(其中?class 包含?rdfs:comment “线性” @en )。要检索?class 类型的实例,您需要使用

?subject rdf:type ?class

或者,因为SPARQL允许通过 a 缩写 rdf:type

?subject a ?class

答案 1 :(得分:0)

如果您无法分享有关数据正文的详细信息,那么您正在查询,您可能希望通过检查来自己了解

SELECT ?s ?p ?subject ?class
WHERE
{ ?s ?p ?class . 
  ?subject rdfs:subClassOf ?class . 
  ?class rdfs:comment "linear"@en .
} ORDER BY ?s ?p ?subject ?class

和/或

SELECT ?subject ?class ?p ?o
WHERE
{ ?subject ?p ?o .
  ?subject rdfs:subClassOf ?class . 
  ?class rdfs:comment "linear"@en .
} ORDER BY ?subject ?class ?p ?o

从那里你可以以相同的方式扩展,直到你得到一个句柄。