我想进行查询(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属性,所以我需要返回此属性的查询
答案 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词汇表。