kiselev-dv / gazetteer

OSM ElasticSearch geocoder and addresses exporter
http://osm.me
Other
99 stars 21 forks source link

Использовать названия из Wikidata для wikipedia-затегированных объектов #43

Open d1g opened 8 years ago

d1g commented 8 years ago

Раз в OSM не обозначается old_name, alt_name, то хоть при геокодинге должно учитываться: http://www.openstreetmap.org/relation/337422

https://www.wikidata.org/wiki/Q656

cordovapolymer commented 7 years ago

It would be great to have this feature!

kiselev-dv commented 7 years ago

To have that data in gazetteer out, I have to have local dump of wikidata, If I'll query wikidata duiring data processing it will take forever to generate data. So I'll probabbly implement that, if it's possible to get wikidata subset.

d1g commented 7 years ago

to have local dump of wikidata

@kiselev-dv

a SPARQL query to fetch labels

44791 Results in 452 ms thanks to WDQS

kiselev-dv commented 7 years ago

@d1g, cool, few more things:

  1. How to get language code for label?
  2. How to get type-codes? wikidata as I think could be binded not only to localities but also to streets and boundaries.

As an option, I can get a full list of wikidata identifiers during first pass and make a batch query to download all the wikidata in few calls to API, and join that data later, but it's easier and faster to have that data downloaded before gazetteer run.

d1g commented 7 years ago

@kiselev-dv

  1. simply add a (LANG(?l) as ?lang) after ?l
  2. I'm not exactly sure what codes do you mean. Could you please give an example for SPB or other item?
kiselev-dv commented 7 years ago

Here is the code for cities:

 ?item wdt:P31 wd:Q515; # cities

How could i get something like:

?item wdt:P31 wd:Q515; # cities
or ?item wdt:P31 wd:Q123; # states
or ?item wdt:P31 wd:Q1234; # streets 
d1g commented 7 years ago
kiselev-dv commented 7 years ago

Heh, that's what I've been afraid of. Are there any analogs of rdbs joins and subqueries or recursive queries in wikidata?

d1g commented 7 years ago

I prefer to load data using SPARQL, but perform really complex precessing using regular tools e.g. Python

d1g commented 7 years ago

@kiselev-dv, it is possible to fetch any division using Q10864048 item: 3623 Results in 6046 ms

kiselev-dv commented 7 years ago

Ok, I'll take a look, thanks.

2017-03-08 12:01 GMT-04:00 d1g notifications@github.com:

@kiselev-dv https://github.com/kiselev-dv, it is possible to fetch any division using Q10864048 item: 3623 Results in 6046 ms https://query.wikidata.org/#SELECT%20%3Fi%20%3FiLabel%20%3Fcountry%20%3FcountryLabel%0AWHERE%0A%7B%0A%09%3Fi%20wdt%3AP31%2Fwdt%3AP279%2a%20wd%3AQ10864048.%0A%20%20%20%20%3Fi%20wdt%3AP17%20%3Fcountry.%0A%09SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22en%22%20%7D%0A%7D

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kiselev-dv/gazetteer/issues/43#issuecomment-285082431, or mute the thread https://github.com/notifications/unsubscribe-auth/AApLaV72C6kL24Q4sQhRQ4e7Emo541YAks5rjtDqgaJpZM4Ixn-K .

-- Thank you for your time. Best regards. Dmitry.