我需要检索一个人的母亲的名字,而且我不知道该怎么做。
这是我当前正在使用的查询:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX : <http://dbpedia.org/resource/>
SELECT DISTINCT
?resource ?depiction ?label ?parent ?bd
WHERE {
?resource a dbo:Royalty ; foaf:depiction ?depiction ; rdfs:label ?label;
dbo:parent ?parent; dbo:birthDate ?bd;
dbo:birthPlace ?bp . ?bp dbo:isPartOf :England .
FILTER(
LANGMATCHES(LANG(?label), 'en') && ?bd < '1900-01-01'^^xsd:date)
}
ORDER BY DESC(?bd)
其中一些是我提供的,其中一些是我添加的。
如您所见,我想检索所有在1900年之前出生于英国的皇室成员(带有标签和描述)。但是我还想检索一个人的母亲的名字。
?parent
包含指向该人父母的链接,我似乎不知道该怎么做:
例如:
对于:http://dbpedia.org/page/Charlotte_of_Mecklenburg-Strelitz
?parent
是:
http://dbpedia.org/page/Princess_Elisabeth_Albertine_of_Saxe-Hildburghausen
和
http://dbpedia.org/page/Duke_Charles_Louis_Frederick_of_Mecklenburg
但是我需要:
Princess Elisabeth Albertine of Saxe-Hildburghausen
答案 0 :(得分:1)
如@AKSW所评论,这是一个可能不完整的查询(在此处设置格式以提高清晰度)-
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX yago: <http://dbpedia.org/class/yago/>
PREFIX : <http://dbpedia.org/resource/>
SELECT DISTINCT
?resource
?label
?bd
?depiction
?parent
?parentLabel
WHERE
{ ?resource a dbo:Royalty ;
foaf:depiction ?depiction ;
rdfs:label ?label ;
dbo:parent ?parent ;
dbo:birthDate ?bd ;
dbo:birthPlace/dbo:location?/dbo:isPartOf :England .
?parent rdfs:label ?parentLabel .
FILTER ( LANGMATCHES ( LANG ( ?parentLabel ), 'en' )
&& LANGMATCHES ( LANG ( ?label ), 'en' )
&& ?bd < '1900-01-01'^^xsd:date
)
{ ?parent foaf:gender "female"@en }
UNION
{ ?parent a yago:Female109619168 }
}
ORDER BY DESC(?bd)