【问题标题】:DBpedia : Get list of Chinese universities and their adresses to populate google map?DBpedia:获取中国大学列表及其地址以填充谷歌地图?
【发布时间】:2013-03-25 22:16:39
【问题描述】:

我正在尝试获取中国大学及其地址的列表。最小值是城市/城镇名称。我将使用这些地址来填充 googlemap,fiddle here

我看到了一些有趣的代码,例如:

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

由于CitiesAndTownsInChina 不起作用,

1.在哪里可以找到我所针对的班级的确切名称?

2。哪里可以找到 dbpedia 的操作员手册?


注意:我是 Wikipedia 上非常活跃的用户,我非常了解那里的所有可用数据,但是 dbpedia 本体/语法/关键字很难获得。

个人备注:查询http://dbpedia.org/snorql/,http://dbpedia.org/sparql/,http://querybuilder.dbpedia.org/

【问题讨论】:

  • 您是否尝试在 Wikipedia(DBpedia 的来源)上找到有趣的类别?您是否尝试在中国寻找城市/住区 - 没有特殊类别?
  • jens-lehmann.org/files/2009/dbpedia_jws.pdf 是关于 DBpedia 的原始论文之一 - 不完全是“手册”。你搜索过wiki吗?

标签: google-maps-api-3 sparql dbpedia street-address


【解决方案1】:

(扩展我对How to find cities with more than X population in a certain country的回复)

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 BYSAMPLE 只选择一个。

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

【讨论】:

    【解决方案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]
    

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

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

    关于你的第二个问题:
    我建议您搜索/询问http://answers.semanticweb.com

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多