Sparql dbpedia查询

时间:2015-07-09 08:07:48

标签: sparql dbpedia

我想进行查询(SPARQL)以从dbpedia DB中选择:

  • 我的查询的目的是获取任何给定名称的定义:

示例:我想找到名称 Victor

的定义
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
CONSTRUCT { <http://example.org/person#Alice> foaf:description ?x }
FROM <http://example.org/foaf/people>
WHERE { ?x foaf:name ?name }
ORDER BY desc(?name)
LIMIT 10

我认为没有名为description的foaf属性,所以我需要返回此属性的查询

1 个答案:

答案 0 :(得分:4)

DBpedia数据集具有名称含义。以下是使用SPARQL查询它们的一种方法:

PREFIX  dbpedia-owl:  <http://dbpedia.org/ontology/>
PREFIX      dbpprop:  <http://dbpedia.org/property/>
SELECT  ?name 
        ?meaning
  WHERE 
    {
      ?s                a  dbpedia-owl:Name
       ;     dbpprop:name  ?name 
       ;  dbpprop:meaning  ?meaning 
       .  FILTER (str(?name) = "Victor")
    }

或者,如果您想要RDF三元组,请使用CONSTRUCT查询:

PREFIX  dbpedia-owl:  <http://dbpedia.org/ontology/>
PREFIX      dbpprop:  <http://dbpedia.org/property/>
CONSTRUCT { ?s  dbpprop:meaning  ?meaning }
WHERE 
  {
    ?s                a  dbpedia-owl:Name 
     ;     dbpprop:name  ?name 
     ;  dbpprop:meaning  ?meaning 
     .  FILTER (str(?name) = "Victor")
  }

我认为FOAF词汇表主要适用于描述个人,组织,文档等,而不是更像抽象的概念,如名称的含义,所以这只是使用原始的DBpedia词汇表。

相关问题