查询DBpedia以获取不同输入的摘要

时间:2014-09-18 19:04:50

标签: sparql jena dbpedia

我有一个问题我需要为DBpedia构建一个单独的查询,这样,如果我将其中任何一个作为输入,如城市名称或人名或学院名称或工具名称,我可以将其抽象为输出??? 例如, 纽约 - 纽约是美国东北部和大西洋中部地区的一个州...... 火星 - 火星是太阳的第四颗行星,是太阳系中第二颗最小的行星...... 迈克尔杰克逊 - 迈克尔约瑟夫杰克逊是美国歌手,词曲作者,舞蹈家和演员......

我已经尝试过,但它不适合所有人。

 SELECT ?abstract WHERE { 
 <http://dbpedia.org/resource/New_York> 
 <http://dbpedia.org/ontology/abstract> 
 ?abstract
 FILTER langMatches(lang(?abstract), "en")
 }

1 个答案:

答案 0 :(得分:3)

如果您打算获取多个内容的摘要,请在VALUES块中提供这些内容。我发现?name匹配对于基于名称的搜索非常有效。

SELECT DISTINCT ?abstract WHERE { 
  [ rdfs:label ?name
  ; dbpedia-owl:abstract ?abstract
  ] .
  FILTER langMatches(lang(?abstract),"en")
  VALUES ?name { "New York"@en }
}
LIMIT 10