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