gpt4 book ai didi

SPARQL:拥有女市长的最大城市

转载 作者:行者123 更新时间:2023-12-02 09:56:13 25 4
gpt4 key购买 nike

我尝试获取所有拥有女性市长的城市,但我的问题是,大多数市长如果在数据中标记,则大多与个人无关,仅以字符串形式给出。那么我怎样才能获得性别。

我获取所有市长的命令是:

SELECT * WHERE {
?city a dbo:City .
?city dbo:populationTotal ?pop .
?city (dbp:mayor | dbo:mayor | dbp:leader |dbo:leader) ?mayor

}
ORDER BY DESC(?pop)

我不确定我是否得到了所有市长,因为只有 500 名市长,而相对于 19584 个城市的给定人口,这听起来更少。

由于我没有通过这种方式获得性别,我做了第二个请求,以获取 DBpedia 中的所有女性并尝试比较两个结果,但大多以超时或“无结果”结束

超时运行的示例命令是:

SELECT ?name ?sayor WHERE {
?person a dbo:Person .
?person foaf:gender ?gender .
FILTER regex(?gender, "^female$", "i") .
?person rdfs:label ?name .
{
SELECT str(?mayor) AS ?sayor WHERE {
?city a dbo:City .
?city (dbp:mayor | dbp:leader) ?mayor .
FILTER (str(?mayor) = str(?name))
}
}
}

有谁有让所有城市都由女市长的想法吗?我也很高兴得到一些刺激。

最佳答案

这是一个由多种因素造成的特殊问题。这里主要有两个:

dbo:Settlement 尴尬的属性(property)结构:维基百科模板信息框的信息框定居点没有直接领导者/市长属性。由于这些模板在创建时并未考虑到清晰的对象结构,因此该模板中的引线属性被扁平化为:

| leader_title = [[Mayor of Chicago|Mayor]]
| leader_name = [[Rahm Emanuel]]
| leader_party = [[Democratic Party (United States)|D]]
| leader_title1 = [[City council|Council]]
| leader_name1 = [[Chicago City Council]]

这使得编辑者别无选择,只能“滥用”leader_name 属性,不是写下名称文字,而是指向有问题的资源(人)。不同的信息框模板都有市长/领导者属性,但这是英语维基百科中最常用于描述城市的属性。

其次,DBpedia 映射的行为相当严格,在处理 Infobox 属性(可能是文字或资源链接)时存在问题。至少 map 编辑者很难解决这个问题。 DBpedia 现在正在通过引入 RML mappings 来处理这个(和其他问题)。 。

当然,这也可以以类似的方式出现在其他 dbo 类中。虽然 DBpedia 正在研究此类问题,但从 Wikipedia 模板到 DBpedia 本体的最新映射是解决此问题的一种方法,任何人都可以 contribute .

考虑到这一点,我们可以解决您的起源问题:

SELECT * WHERE {
?plebs rdfs:subClassOf dbo:Settlement.
?city a ?plebs .
?city (dbp:mayor | dbo:mayor | dbp:leader |dbo:leader | dbo:leaderName) ?mayor .
?mayor foaf:gender ?gender.
?city dbo:populationTotal ?pop .
FILTER(str(?gender) = "female")
}
ORDER BY DESC(?pop)

排名前三的结果是:

http://dbpedia.org/resource/Tokyo   http://dbpedia.org/resource/Yuriko_Koike    
"female"@en 13617445
http://dbpedia.org/resource/Mumbai http://dbpedia.org/resource/Snehal_Ambekar
"female"@en 12442373
http://dbpedia.org/resource/Yuncheng http://dbpedia.org/resource/Wang_Yuyan
"female"@en 5134779

这对我来说似乎是正确的。

关于SPARQL:拥有女市长的最大城市,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44978645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com