寻找 Winston_Churchill 数据
Looking for Winston_Churchill data
我无法想象为什么会这样:
select * {
<http://dbpedia.org/resource/Mahatma_Gandhi> dbpedia-owl:birthName ?name.
OPTIONAL{<http://dbpedia.org/resource/Mahatma_Gandhi> dbpedia-owl:birthDate ?birthDate}
OPTIONAL{<http://dbpedia.org/resource/Mahatma_Gandhi> dbpedia-owl:restingPlace ?restingPlace}
OPTIONAL{<http://dbpedia.org/resource/Mahatma_Gandhi> dbpedia-owl:deathDate ?deathDate}
}
和这个 - NOT(空绑定):
select * {
<http://dbpedia.org/resource/Winston_Churchill> dbpedia-owl:birthName ?name.
OPTIONAL{<http://dbpedia.org/resource/Winston_Churchill> dbpedia-owl:birthDate ?birthDate}
OPTIONAL{<http://dbpedia.org/resource/Winston_Churchill> dbpedia-owl:restingPlace ?restingPlace}
OPTIONAL{<http://dbpedia.org/resource/Winston_Churchill> dbpedia-owl:deathDate ?deathDate}
}
在 http://live.dbpedia.org/sparql
UPD
很好,但是当我试图寻找 Vincent_van_Gogh - 同样的问题
dbpedia:Mahatma_Gandhi
有dbpedia-owl:birthName
和dbpprop:birthName
。另一方面,dbpedia:Winston_Churchill
只有 dbpprop:birthname
(注意大小写不同)。
不确定处理此问题的正确方法是什么。
这似乎是 DBpedia Live 和 DBpedia 之间的区别。在标准 DBpedia 上,您的查询没有问题:
- "Winston Leonard Spencer-Churchill"@zh
- 1874-11-30+02:00
- http://dbpedia.org/resource/St_Martin's_Church,_Bladon
- 1965-01-24+02:00
正如 指出的那样,在 DBpedia Live 中,丘吉尔有 dbpprop:birthname,但没有 dbpedia-owl :出生名。在这种情况下,您可以做的是要求其中任何一个。你可以很容易地做到这一点
交替 属性 路径。以下查询适用于 DBpedial Live。 (我使用值将 ?wc 绑定到 dbpedia:Winston_Churchill,但这只是为了使查询更具可读性。重要的部分是 属性 路径三元组:dbpedia:Winston_Churchill dbpedia-owl:birthName|dbpprop:birthname ?birthname.
select * {
values ?wc { dbpedia:Winston_Churchill }
?wc dbpedia-owl:birthName|dbpprop:birthname ?birthName
optional { ?wc dbpedia-owl:birthDate ?birthDate}
optional { ?wc dbpedia-owl:restingPlace ?restingPlace}
optional { ?wc dbpedia-owl:deathDate ?deathDate}
}
当然,如果您将其返回到 Churchill 拥有两个属性的正常 DBpedia,您现在将得到 两个 个结果,每个 属性 个结果。如果你只想要一个结果,你可以分别请求属性和 bind 和 coalesce 它们:
select ?birthName ?birthDate ?restingPlace ?deathDate {
values ?wc { dbpedia:Winston_Churchill }
optional { ?wc dbpedia-owl:birthName ?birthname0 }
optional { ?wc dbpprop:birthname ?birthname1 }
bind ( coalesce(?birthname0,?birthname1) as ?birthName )
optional { ?wc dbpedia-owl:birthDate ?birthDate}
optional { ?wc dbpedia-owl:restingPlace ?restingPlace}
optional { ?wc dbpedia-owl:deathDate ?deathDate}
}
我无法想象为什么会这样:
select * {
<http://dbpedia.org/resource/Mahatma_Gandhi> dbpedia-owl:birthName ?name.
OPTIONAL{<http://dbpedia.org/resource/Mahatma_Gandhi> dbpedia-owl:birthDate ?birthDate}
OPTIONAL{<http://dbpedia.org/resource/Mahatma_Gandhi> dbpedia-owl:restingPlace ?restingPlace}
OPTIONAL{<http://dbpedia.org/resource/Mahatma_Gandhi> dbpedia-owl:deathDate ?deathDate}
}
和这个 - NOT(空绑定):
select * {
<http://dbpedia.org/resource/Winston_Churchill> dbpedia-owl:birthName ?name.
OPTIONAL{<http://dbpedia.org/resource/Winston_Churchill> dbpedia-owl:birthDate ?birthDate}
OPTIONAL{<http://dbpedia.org/resource/Winston_Churchill> dbpedia-owl:restingPlace ?restingPlace}
OPTIONAL{<http://dbpedia.org/resource/Winston_Churchill> dbpedia-owl:deathDate ?deathDate}
}
在 http://live.dbpedia.org/sparql
UPD
dbpedia:Mahatma_Gandhi
有dbpedia-owl:birthName
和dbpprop:birthName
。另一方面,dbpedia:Winston_Churchill
只有 dbpprop:birthname
(注意大小写不同)。
不确定处理此问题的正确方法是什么。
这似乎是 DBpedia Live 和 DBpedia 之间的区别。在标准 DBpedia 上,您的查询没有问题:
- "Winston Leonard Spencer-Churchill"@zh
- 1874-11-30+02:00
- http://dbpedia.org/resource/St_Martin's_Church,_Bladon
- 1965-01-24+02:00
正如
select * {
values ?wc { dbpedia:Winston_Churchill }
?wc dbpedia-owl:birthName|dbpprop:birthname ?birthName
optional { ?wc dbpedia-owl:birthDate ?birthDate}
optional { ?wc dbpedia-owl:restingPlace ?restingPlace}
optional { ?wc dbpedia-owl:deathDate ?deathDate}
}
当然,如果您将其返回到 Churchill 拥有两个属性的正常 DBpedia,您现在将得到 两个 个结果,每个 属性 个结果。如果你只想要一个结果,你可以分别请求属性和 bind 和 coalesce 它们:
select ?birthName ?birthDate ?restingPlace ?deathDate {
values ?wc { dbpedia:Winston_Churchill }
optional { ?wc dbpedia-owl:birthName ?birthname0 }
optional { ?wc dbpprop:birthname ?birthname1 }
bind ( coalesce(?birthname0,?birthname1) as ?birthName )
optional { ?wc dbpedia-owl:birthDate ?birthDate}
optional { ?wc dbpedia-owl:restingPlace ?restingPlace}
optional { ?wc dbpedia-owl:deathDate ?deathDate}
}