从dbpedia中提取描述人们所知的内容的额外列

时间:2014-01-27 18:34:48

标签: sparql dbpedia

我想选择一个人的所有影响,但也知道他们所知道的是什么。我可以选择/Person/Writer/Scientist但是我可以输出另一列,这是一个以某种方式给出其字段的属性吗?

SELECT * 
WHERE {
    ?p a <http://dbpedia.org/ontology/Person> . 
    ?p <http://dbpedia.org/ontology/influenced> ?influenced . 
    ?influenced a <http://dbpedia.org/ontology/Person> .
}

另外,我如何只选择特定本体的所有名称?说我只想要一个dbpedia中所有/ Painters的列表?我正在使用sparql。提前谢谢。

1 个答案:

答案 0 :(得分:0)

获得所有画家

如果您想要所有画家的列表,您必须根据DBpedia中的数据确定如何定义画家。例如,如果你看http://dbpedia.org/page/Pablo_Picasso,你会看到一些有用的属性,例如

您的查询必须基于此类数据。例如,你可以要求

select ?painter { ?painter a dbpedia-owl:Artist , yago:Painter110391653 }

SPARQL results

为人所知

这太宽泛了,因为人们可以为很多事情所知。您可能需要查看一些DBpedia条目,并查看可用的信息类型。如果您正在寻找某人所知的专业或职业,您需要寻找能够给出某些指示的属性值,并找出您想要使用的属性值。可能有用的一个是dbpprop:field。 http://dbpedia.org/page/Vincent_van_Gogh的值为

  • dbpprop:field“绘画,绘画”

要检索其中一些值,您可以使用类似

的查询
select ?painter ?field { 
  ?painter a dbpedia-owl:Artist , yago:Painter110391653 .
  optional { 
    ?painter dbpprop:field ?field
  }
}

SPARQL results

一般而言,您需要浏览数据并找出要提取的内容。只有这样,你真的可以提出有效的方法来提取它。