use*_*812 19 semantic-web sparql dbpedia
如何获取特定类的属性列表?考虑上课dbpedia-owl:Person.Person该类的所有实例都有一些前缀为的属性dbpprop:.如何获得dbpprop:我们可能为所有Person类实例找到的所有属性?
Man*_*res 28
有效的是:
select distinct ?property where {
?property <http://www.w3.org/2000/01/rdf-schema#domain>
<http://dbpedia.org/ontology/Person> . }
Run Code Online (Sandbox Code Playgroud)
在此查询中,您要求所有具有dbpedia:Personas 的属性rdfs:domain.此查询需要模式定义才能工作,有时数据集并不能完全遵循模式.对于这些数据集,您可以尝试此其他查询
select distinct ?property where {
?instance a <http://dbpedia.org/ontology/Person> .
?instance ?property ?obj . }
Run Code Online (Sandbox Code Playgroud)
此查询查看绑定每个属性的人的每个实例.它比第一个难得多,在dbpedia公共实例中你会得到一个时间.如果你想使用公共端点,那么你最好使用第一个.
要获取所有传递属性,您可以询问此查询
select distinct ?property where{
{
?property rdfs:domain ?class .
dbpedia-owl:Person rdfs:subClassOf+ ?class.
} UNION {
?property rdfs:domain dbpedia-owl:Person.
}}
Run Code Online (Sandbox Code Playgroud)
'rdfs:subClassOf'中的'+'是一个属性路径表达式[1],它也可以获取Person的所有超类.这些属性对Person也有效.
另请注意,建议不要使用dbprop命名空间,因为数据是原始数据,而不是规范化为数据类型.
[1] http://www.w3.org/TR/2010/WD-sparql11-property-paths-20100126/
披露:我是DBpedia开发人员