如何确保资源是dbpedia-owl:Person?

时间:2013-12-21 21:59:33

标签: rdf sparql dbpedia

如何确保资源是dbpedia-owl:Person?目前我有一个类似以下的模式。我可以向此查询添加哪些内容以确保每个?node也是dbpedia-owl:Person

?node dbpedia-owl:something ?edge .

1 个答案:

答案 0 :(得分:3)

在我replied on the DBpedia mailing list时,您可以使用类似

的内容
select * where {
  ?influencer dbpedia-owl:influenced ?influencee .
  dbpedia-owl:Person ^a ?influencer, ?influencee .
}

它使用SPARQL定义的一些语法糖,但没有它,它只是

select * where {
  ?influencer dbpedia-owl:influenced ?influencee .
  ?influencer a dbpedia-owl:Person .
  ?influencee a dbpedia-owl:Person .
}

将三重模式放入哪个顺序并不重要。例如,您也可以写

select * where {
  ?influencer a dbpedia-owl:Person .
  ?influencer dbpedia-owl:influenced ?influencee .
  ?influencee a dbpedia-owl:Person .
}

select * where {
  ?influencer a dbpedia-owl:Person .
  ?influencee a dbpedia-owl:Person .
  ?influencer dbpedia-owl:influenced ?influencee .
}

RDF是基于图形的数据表示,图形是有向边的。模式中三元组的顺序并不重要。