0

I'm trying to get list of Chinese universities and their adresses. The minimum being the City/Town name. I will use these addresses to populate a googlemap, fiddle here.

I saw interesting code such as:

SELECT ?resource ?value
WHERE { 
   ?resource a <http://dbpedia.org/class/yago/CitiesAndTownsInDenmark> .
   ?resource <http://dbpedia.org/property/populationTotal> ?value .
   FILTER (?value > 100000)
}
ORDER BY ?resource ?value

Since CitiesAndTownsInChina doesn't work,

1. Where to find the exact name of the class I'am targeting ? and

2. Where to find dbpedia's operators manual ?


Note: I'am a very active user on Wikipedia, I'am well aware of all the data available there, but the dbpedia ontology/syntaxe/keywords is quite hard to get.

Personal note: queries on http://dbpedia.org/snorql/ , http://dbpedia.org/sparql/ , http://querybuilder.dbpedia.org/

4

2 回答 2

3

(扩展我对如何查找某个国家人口超过 X 的城市的回复)

CitiesAndTownsInDenmark 的存在是因为人们在维基百科中使用类别http://en.wikipedia.org/wiki/Category:Cities_and_towns_in_Denmark。Wikipedia 类别非常松散,因此样式有很多变化,因此即使存在有用的类别,名称也可能无法猜测。

此外,类别是手动维护的,并且可能不会始终如一地应用。

一个好的起点是查看数据。访问http://dbpedia.org/page/Beijing我看到 yago:MetropolitanAreasOfChina 这似乎很有希望,但如果你点击那个链接,你会发现它的人口并不多。

因此,请避免依赖此类类别的存在并直接查询一个国家/地区的人口稠密地区。此信息来自维基百科信息框,它们比类别更加一致。再次以北京为例,我发现:

select ?s { 
    ?s a <http://dbpedia.org/ontology/PopulatedPlace> ; 
       <http://dbpedia.org/ontology/country> <http://dbpedia.org/resource/China>
}

(我查询的相关属性和值是通过复制北京页面中的链接位置找到的)

结果:

"http://dbpedia.org/resource/Hulunbuir"
"http://dbpedia.org/resource/Guangzhou"
"http://dbpedia.org/resource/Chongqing"
"http://dbpedia.org/resource/Kuqa_County"
"http://dbpedia.org/resource/Changzhou"
... nearly 3000 results ...

您会注意到位置被多次编码(geo:lat 和 long、georss:point、各种 dbpprop:latd longd 的东西),并且似乎有两个令人兴奋的值。您可以简单地以您喜欢的格式处理多个值,或者尝试使用GROUP BYand只选择一个SAMPLE

至于手册,我所知道的几乎都是学术论文,并不是很有用。然而,数据是合理的自我记录。

于 2013-03-26T11:05:09.470 回答
2

对于您的第一个问题:
您可以通过查询您预期的一组实体(例如:上海)中的一个成员来查看可能的类。

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?type  WHERE {
    <http://dbpedia.org/resource/Shanghai> rdf:type ?type.
    FILTER regex(str(?type), ".*China", "i").
} LIMIT 100

这给出了这个结果:

dbpedia:class/yago/MetropolitanAreasOfChina [http]
dbpedia:class/yago/PortCitiesAndTownsInChina [http]
dbpedia:class/yago/MunicipalitiesOfThePeople'sRepuBlicOfChina [http]
dbpedia:class/yago/PopulatedCoastalPlacesInChina [http]

它们是您可以在 wikipedia 页面底部找到的类别的CamelCase版本。被of的错误大小写骗了一阵子,RepuBlic终于看到它只包含4个城市,所以对你的用处有限。

所以我建议使用@user205512 答案并通过链接2个属性来获取城市。

对于您的第二个问题:
我建议您在http://answers.semanticweb.com上搜索/提问

于 2013-03-26T11:33:47.023 回答