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を使用しているためです。ウィキペディアのカテゴリはかなり緩く、その結果、スタイルに多くのバリエーションがあるため、有用なカテゴリが存在する場合でも、その名前を推測することはできません.

さらに、カテゴリは手動で維持され、一貫して適用されない場合があります。

開始するのに適した場所は、データを見ることです。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 など)。刺激的なことに 2 つの値があるようです。好みの形式で複数の値を処理するか、 と を使用して 1 つだけを選択してみてGROUP BYくださいSAMPLE

マニュアルに関しては、私が知っているほとんどすべてが学術論文であり、あまり役に立ちません。ただし、データは合理的に自己文書化されています。

于 2013-03-26T11:05:09.470 に答える
2

最初の質問:
目的のエンティティ セットの 1 つのメンバー (例: 上海) をクエリすることで、可能なクラスを確認できます。

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]

これらは、ウィキペディアのページの下部にあるカテゴリのキャメルケースバージョンです。の大文字と小文字の誤りにしばらく騙されていましたがRepuBlic、最終的には 4 つの都市しか含まれていないことがわかりました。

したがって、@ user205512 の回答を使用して、2 つのプロパティをリンクして都市を取得することを提案します。

2 番目の質問: http://answers.semanticweb.com
で検索/質問することをお勧めします。

于 2013-03-26T11:33:47.023 に答える