Sparql 数据库查询

Sparql dbpedia query

我想从 dbpedia 数据库向 select 查询 (SPARQL):

示例:我想找到名称 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 属性,所以我需要 return 这个 属性

的查询

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词汇表。