WEBVTT 00:00:06.259 --> 00:00:08.379 Hello. So, good afternoon. 00:00:08.379 --> 00:00:11.919 Welcome to the OpenStreetMap and Wikidata workshop. 00:00:11.919 --> 00:00:13.479 My name is Eugene. 00:00:13.479 --> 00:00:16.849 And together with Edward, we'll be talking about OpenStreetMap 00:00:16.849 --> 00:00:20.069 and how it can work together with Wikidata. 00:00:20.118 --> 00:00:21.718 So, just a show of hands. 00:00:21.718 --> 00:00:24.638 Who here has an OpenStreetMap account? 00:00:26.538 --> 00:00:30.638 Okay, some. So, probably this is not new to you. 00:00:30.638 --> 00:00:33.838 But for those who are not familiar with OpenStreetMap, 00:00:33.838 --> 00:00:37.348 I'll give an introduction to OpenStreetMap and its data model. 00:00:37.348 --> 00:00:39.478 So, basically, what is OpenStreetMap? 00:00:39.478 --> 00:00:42.688 It is basically a crowdsourced project to map the whole world. 00:00:43.579 --> 00:00:46.608 And the usual way we introduce OpenStreetMap to people 00:00:46.608 --> 00:00:50.636 is like OpenStreetMap is like Wikipedia for maps. 00:00:51.692 --> 00:00:55.097 But actually, a more accurate way to introduce OpenStreetMap 00:00:55.097 --> 00:00:57.897 is that it is like Wikidata for geographical data. 00:00:58.260 --> 00:01:01.711 But that presupposes that the audience already knows or is familiar 00:01:01.711 --> 00:01:03.695 with what Wikidata is. 00:01:04.347 --> 00:01:07.596 And why do we say that OpenStreetMap is like Wikidata? 00:01:08.083 --> 00:01:11.690 And that's because both have quite a lot of things in common, 00:01:11.690 --> 00:01:14.731 both being crowdsourced and open data projects. 00:01:16.071 --> 00:01:18.136 So, you know Wikidata-- 00:01:18.136 --> 00:01:20.938 it has items, statements, properties, et cetera. 00:01:21.250 --> 00:01:26.690 In the same way, OpenStreetMap has things like nodes, ways, relations, 00:01:26.690 --> 00:01:30.570 that have members and roles, and these have tags 00:01:30.570 --> 00:01:33.450 that are composed of keys and values. 00:01:34.230 --> 00:01:40.236 So, as more detail, nodes, ways, and relations model the geometry 00:01:40.236 --> 00:01:42.380 and topology of objects. 00:01:42.971 --> 00:01:46.950 And then, we have tags, which are actually key value strings 00:01:46.950 --> 00:01:51.040 that describe the actual things that those objects represent. 00:01:51.920 --> 00:01:57.760 So, to give an example, here's the Wikidata item for Berlin. 00:01:57.790 --> 00:02:02.530 So, we can have property like population, 3 million something, 00:02:03.069 --> 00:02:05.695 with a qualifier, point in time, and references. 00:02:06.243 --> 00:02:09.782 And they have counterparts in OpenStreetMap. 00:02:09.782 --> 00:02:13.136 So, for example, the Berlin relation in OpenStreetMap 00:02:13.136 --> 00:02:17.162 has the tag population is equal to 3.4 million something, 00:02:17.662 --> 00:02:23.662 and it has another tag, source:population equals this URL and that date. 00:02:24.382 --> 00:02:26.522 So, unlike in Wikidata, 00:02:26.522 --> 00:02:29.762 wherein you can have qualifiers and references for your statements, 00:02:29.762 --> 00:02:32.412 in OpenStreetMap, the tag is quite flat. 00:02:32.912 --> 00:02:36.452 There's no secondary levels of tags. 00:02:36.521 --> 00:02:37.821 Everything is flat. 00:02:37.821 --> 00:02:40.881 And that's why we have to put what you call secondary tags. 00:02:40.912 --> 00:02:43.732 So, for example here, source:population 00:02:43.732 --> 00:02:46.963 to indicate that the population tag has this source. 00:02:48.583 --> 00:02:52.108 Another thing is that OpenStreetMap's tags are not strictly controlled. 00:02:52.108 --> 00:02:55.532 Unlike with Wikidata, wherein you have to have approval process 00:02:55.532 --> 00:02:57.583 before properties are created, 00:02:57.583 --> 00:02:59.431 here, OpenStreetMap mappers 00:02:59.431 --> 00:03:02.792 can invent and add any tags that they like. 00:03:02.792 --> 00:03:05.587 However, there is a tagging proposal process 00:03:05.587 --> 00:03:07.858 in order to propose common tags 00:03:07.858 --> 00:03:11.391 that will be used by mappers all over the world. 00:03:14.107 --> 00:03:17.770 Okay, data modeling discussions on the Wikidata:Project chat page 00:03:17.770 --> 00:03:19.899 are actually quite similar to the discussions 00:03:19.899 --> 00:03:22.039 in OpenStreetMap's tagging mailing list. 00:03:22.659 --> 00:03:26.709 For example, here's an example of discussion on the project tag, 00:03:27.759 --> 00:03:30.599 how do we model a building that has changed its use? 00:03:30.599 --> 00:03:33.393 In OpenStreetMap, we have similar discussions. 00:03:33.393 --> 00:03:35.819 How do we tag these sorts of buildings? 00:03:37.734 --> 00:03:40.833 So, I've given an introduction of what OpenStreetMap is. 00:03:40.833 --> 00:03:45.293 I'd love to discuss it more, but we don't have enough time. 00:03:45.429 --> 00:03:48.772 So, we'll go into how do we link 00:03:48.772 --> 00:03:51.392 between OpenStreetMap and Wikidata together. 00:03:51.392 --> 00:03:54.612 I don't have to explain why linking is a good thing. 00:03:54.671 --> 00:03:58.332 We're all Wikidatans, and we know that linking data is a good thing. 00:03:59.052 --> 00:04:03.012 So, how do we actually link Wikidata with OpenStreetMap? 00:04:03.601 --> 00:04:06.202 So, from Wikidata to OpenStreetMap, 00:04:06.681 --> 00:04:10.721 Wikidata items on places can link to OpenStreetMap relations 00:04:10.721 --> 00:04:14.842 using the OSM relation ID, or the P402 property. 00:04:15.442 --> 00:04:17.612 So, the question is: why only relations? 00:04:18.133 --> 00:04:20.861 That's because OSM IDs are not stable. 00:04:21.521 --> 00:04:26.272 For example, you can change nodes to represent a different object. 00:04:26.942 --> 00:04:28.700 Ways can be split 00:04:29.760 --> 00:04:34.550 to add new information about those ways. 00:04:35.410 --> 00:04:42.326 However, relatively, relations in OpenStreetMap are relatively stable. 00:04:42.860 --> 00:04:47.349 At least for major relations, such as administrative boundaries, 00:04:47.349 --> 00:04:50.410 or highway routes, or public transportation routes. 00:04:51.171 --> 00:04:54.839 That way, you can link at least the, for example, here, 00:04:55.219 --> 00:04:57.639 Berlin Wikidata data edit item, 00:04:57.639 --> 00:05:00.312 can link to the relation representing the boundary 00:05:00.312 --> 00:05:04.269 in OpenStreetMap via its ID. 00:05:05.260 --> 00:05:09.310 In terms of the ontology, Wikidata items and properties 00:05:09.310 --> 00:05:13.489 for geographical features can link to "equivalent," in quotes, 00:05:13.489 --> 00:05:16.959 OpenStreetMap classes using the OSM tag or key property. 00:05:17.399 --> 00:05:22.759 For example, the lighthouse item in Wikidata has the value 00:05:22.838 --> 00:05:27.029 for OpenStreetMap tag or key Tag:man_made=lighthouse. 00:05:27.279 --> 00:05:32.369 That means that lighthouses are equivalent to objects that are tagged 00:05:32.369 --> 00:05:35.459 in OpenStreetMap with man-made lighthouse. 00:05:37.379 --> 00:05:41.489 Going in the other direction, OpenStreetMap objects can link 00:05:41.489 --> 00:05:44.859 to corresponding Wikipedia articles and Wikidata items 00:05:44.859 --> 00:05:48.340 using the Wikipedia and Wikidata tags, respectively. 00:05:48.818 --> 00:05:50.039 So, here's an example. 00:05:50.039 --> 00:05:52.498 The OpenStreetMap relation for Berlin. 00:05:52.498 --> 00:05:54.838 We have the Wikidata tag, Q64, 00:05:55.379 --> 00:06:00.128 and the Wikipedia article linking to the German article for Berlin. 00:06:02.158 --> 00:06:04.678 There are also several Wikidata secondary tags, 00:06:04.678 --> 00:06:09.001 such as for example, brand:wikidata, architect:wikidata, artist:wikidata, 00:06:09.001 --> 00:06:11.196 or name:etymology:wikidata. 00:06:11.196 --> 00:06:14.418 We use this in order to exactly specify 00:06:15.468 --> 00:06:17.840 what we are referring to. 00:06:18.334 --> 00:06:21.135 For example, on the top part here, we have the example. 00:06:21.746 --> 00:06:24.059 There's an artwork in OpenStreetMap 00:06:24.059 --> 00:06:27.427 that was created by the artist named Herakut, 00:06:27.876 --> 00:06:29.215 but who is that? 00:06:29.215 --> 00:06:32.669 So, in order to specify exactly, we use artist:wikidata, 00:06:32.669 --> 00:06:34.380 and that Q ID number. 00:06:34.383 --> 00:06:39.530 So that you can be exactly sure which Herakut artist it really is. 00:06:40.090 --> 00:06:43.850 This is also useful, for example, if you're tagging, for example, 00:06:46.090 --> 00:06:48.700 objects in OpenStreetMap that are in a different language. 00:06:48.700 --> 00:06:52.856 For example, in Japan, you might have a fast-food restaurant 00:06:52.856 --> 00:06:56.437 called Makudonarudo, which is actually McDonald's. 00:06:56.437 --> 00:06:59.483 So, you can tag that using the brand:wikidata tag 00:07:00.183 --> 00:07:03.343 pointing to the McDonald's item in Wikidata. 00:07:06.059 --> 00:07:11.399 So, in terms of ontology, we define and describe the tags 00:07:11.399 --> 00:07:14.809 in OpenStreetMap on the OpenStreetMap Wiki, 00:07:14.809 --> 00:07:20.309 and we can add links to corresponding Wikipedia articles and Wikidata items 00:07:20.729 --> 00:07:25.688 so that we can sort of explain the correspondences and relations 00:07:25.688 --> 00:07:29.780 between these tags and items in Wikidata. 00:07:32.692 --> 00:07:38.532 Okay, so how do OpenStreetMap and Wikimedia use each other's data? 00:07:39.827 --> 00:07:42.181 So, first, we have the interactive maps. 00:07:42.181 --> 00:07:44.744 So, OpenStreetMap data powers 00:07:44.744 --> 00:07:48.475 the Wikimedia Foundation's Kartotherian map tile service, 00:07:48.475 --> 00:07:51.242 which is used by the Kartographer MediaWiki extension. 00:07:51.607 --> 00:07:54.241 So, basically, any time you see an interactive map 00:07:54.241 --> 00:07:58.213 or almost any interactive map on any Wikimedia project, 00:07:58.213 --> 00:08:01.816 that is usually powered by the Kartotherian map tile service. 00:08:02.263 --> 00:08:07.004 For example, here's the interactive map for Berlin in the English Wikivoyage. 00:08:07.695 --> 00:08:11.583 So, the base map there is all coming from OpenStreetMap. 00:08:13.446 --> 00:08:16.811 So, another thing that the Kartographer extension can do 00:08:16.811 --> 00:08:20.332 is it can pull and overlay geometry from OpenStreetMap. 00:08:20.778 --> 00:08:25.799 So, here's the infobox on Commons for the Berlin category. 00:08:26.324 --> 00:08:30.953 And the map there, you can see an outline for Berlin, there. 00:08:31.397 --> 00:08:33.873 That outline comes from OpenStreetMap. 00:08:35.659 --> 00:08:40.528 In 2008, the foundation released localized map tiles for Kartotherian, 00:08:40.528 --> 00:08:45.191 and this leveraged the multilingual name tags in OpenStreetMap, 00:08:45.191 --> 00:08:49.370 so that you can view those maps that you see on Wikimedia projects 00:08:49.370 --> 00:08:51.279 in the user's language. 00:08:53.067 --> 00:08:56.229 Then, how do we use Wikidata in OpenStreetMap? 00:08:56.594 --> 00:08:59.270 For example, when tagging brands, 00:08:59.336 --> 00:09:02.216 for example, in shops and restaurants or banks, 00:09:02.986 --> 00:09:07.726 OpenStreetMap's Name Suggestion Index uses Wikidata to provide brand identity 00:09:07.726 --> 00:09:09.326 and improved tagging. 00:09:09.326 --> 00:09:13.306 So, for example, if you tag an object in OpenStreetMap 00:09:13.306 --> 00:09:18.456 with brand Wikidata pointing to the McDonald's item in Wikidata, 00:09:19.886 --> 00:09:22.937 the name field is now automatically locked 00:09:22.937 --> 00:09:26.598 so that users cannot just change that to, for example, Burger King. 00:09:27.567 --> 00:09:32.523 And then, you can edit or also pull icons, 00:09:34.063 --> 00:09:35.763 the McDonald's icon there 00:09:35.763 --> 00:09:41.962 that is taken from the Facebook item property 00:09:41.962 --> 00:09:43.782 in Wikidata. 00:09:44.361 --> 00:09:45.811 So, yeah. 00:09:45.811 --> 00:09:50.111 So, that, at least, when users are tagging these shops in OpenStreetMap, 00:09:50.111 --> 00:09:52.751 they can be sure that they're doing it correctly. 00:09:54.822 --> 00:09:59.311 Okay, so Sophox is a SPARQL endpoint for OpenStreetMap data. 00:09:59.771 --> 00:10:04.081 So, this service can use RDF federation to also query linked Wikidata items. 00:10:04.721 --> 00:10:09.251 So, actually, in OpenStreetMap, we usually use other query services, 00:10:09.251 --> 00:10:11.041 such as Overpass. 00:10:11.421 --> 00:10:16.771 But if you want to also query using Wikidata items, 00:10:17.311 --> 00:10:21.511 we have the Sophox endpoint that you can use. 00:10:23.711 --> 00:10:27.101 And for geocoding, if you're not familiar with geocoding, 00:10:27.101 --> 00:10:32.291 basically, that's the technology wherein given an address, 00:10:32.831 --> 00:10:37.097 you are returned geocoordinates. 00:10:37.825 --> 00:10:42.900 So, we have what we call Nominatim, which is the usual service 00:10:42.900 --> 00:10:45.417 in OpenStreetMap for doing geocoding. 00:10:45.417 --> 00:10:50.008 And previously, it already uses Wikipedia tags in OpenStreetMap. 00:10:50.534 --> 00:10:55.316 But this year, we added Google Summer of Code project code 00:10:55.316 --> 00:10:59.289 to integrate using Wikidata tags in Nominatim, 00:10:59.289 --> 00:11:02.855 so that search results can become more relevant for users 00:11:02.855 --> 00:11:05.084 who are doing the searches. 00:11:06.583 --> 00:11:12.306 And for localization, Mapbox and MapTiler, which are third-party companies 00:11:12.306 --> 00:11:15.622 that extensively use OpenStreetMap, 00:11:15.622 --> 00:11:18.787 they use Wikidata to power their localized map products. 00:11:19.111 --> 00:11:23.854 So, basically, if there are missing name tags in OpenStreetMap, 00:11:23.854 --> 00:11:29.937 and if that object is linked to Wikidata, they can pull the labels from Wikidata, 00:11:29.937 --> 00:11:35.217 and use that to show multilingual labels, if that is missing in OpenStreetMap. 00:11:35.705 --> 00:11:39.675 The reason for that is because we have a philosophy in OpenStreetMap 00:11:39.675 --> 00:11:45.603 that we do not try to add too many tags, especially if that can be automated. 00:11:45.656 --> 00:11:48.296 For example, for automatic transliterations, 00:11:48.857 --> 00:11:52.973 if that can be automated, we don't need to add that to OpenStreetMap. 00:11:52.973 --> 00:11:56.156 But in Wikidata, that's no problem. 00:11:56.156 --> 00:12:01.184 So, you can do that by doing this linking between OpenStreetMap and Wikidata. 00:12:01.184 --> 00:12:06.616 You don't have to do that transliteration on your own. 00:12:06.625 --> 00:12:08.855 You can just pull it from Wikidata. 00:12:10.315 --> 00:12:15.805 And also, the OpenStreetMap Wiki has the Wikibase extension installed. 00:12:16.565 --> 00:12:22.085 So, the idea here is that we want the tag information or the description 00:12:22.085 --> 00:12:27.025 or the description of the tags, that we use in OpenStreetMap 00:12:27.025 --> 00:12:28.905 to be machine-readable. 00:12:28.905 --> 00:12:32.705 Hopefully, this will be used by software and editors 00:12:32.705 --> 00:12:38.096 that use OpenStreetMap data to better see 00:12:38.096 --> 00:12:41.475 how objects are described in OpenStreetMap. 00:12:41.995 --> 00:12:43.995 Currently, this is not used as much, 00:12:43.995 --> 00:12:48.935 but hopefully, as the tagging information becomes more complete and better, 00:12:48.935 --> 00:12:52.215 this can be used by OpenStreetMap software, 00:12:52.215 --> 00:12:54.755 thanks to the Wikibase installation. 00:12:56.195 --> 00:12:58.635 Okay, some copyright and IP issues. 00:13:00.395 --> 00:13:03.805 Wikidata can't import coordinates from OpenStreetMap. 00:13:03.805 --> 00:13:06.975 The reason for that is because OpenStreetMap is licensed 00:13:06.975 --> 00:13:09.675 under the Open Database License. 00:13:12.195 --> 00:13:14.875 And also, we have conflicting doctrines. 00:13:14.875 --> 00:13:19.118 Here in the European Union and the United Kingdom, 00:13:19.215 --> 00:13:20.974 we have database rights. 00:13:22.214 --> 00:13:26.944 Whereas, in the US, we have the idea that facts are not copyrightable. 00:13:27.364 --> 00:13:32.034 So, we cannot just-- even though you cannot say-- 00:13:32.034 --> 00:13:35.954 you cannot copyright the fact that this restaurant or this bank 00:13:35.954 --> 00:13:39.804 or this place is at this location, 00:13:39.804 --> 00:13:45.264 doing that as an import or as a batch job 00:13:45.403 --> 00:13:47.953 is not allowed 00:13:47.953 --> 00:13:51.883 because OpenStreetMap is protected by database rights 00:13:52.843 --> 00:13:56.134 being hosted in the United Kingdom. 00:13:57.883 --> 00:14:03.723 Conversely, OpenStreetMap will not import geodata from Wikidata, 00:14:03.723 --> 00:14:07.863 despite the CC0 license, because of data provenance issues. 00:14:09.563 --> 00:14:15.033 If you're not familiar with how geocoordinates are added 00:14:15.033 --> 00:14:19.723 into Wikipedia articles, usually users just go to Google Maps, 00:14:20.353 --> 00:14:24.173 search, and then copy the coordinates that show up in the results, 00:14:24.173 --> 00:14:26.983 and place that into the Wikipedia articles. 00:14:27.883 --> 00:14:31.353 In OpenStreetMap, we, as much as possible, 00:14:31.353 --> 00:14:34.895 avoid copying data from third-party sources 00:14:34.895 --> 00:14:37.984 that are proprietary, such as, for example, Google Maps. 00:14:38.613 --> 00:14:43.493 And because of that, we will never, in OpenStreetMap, never import data 00:14:43.493 --> 00:14:46.823 from Wikipedia and also Wikidata, 00:14:46.823 --> 00:14:51.333 because most coordinates in Wikidata have been imported from Wikipedia. 00:14:52.173 --> 00:14:54.603 So, it's an established principle on OpenStreetMap 00:14:54.603 --> 00:14:57.033 that we don't import from Wikipedia. 00:14:58.443 --> 00:15:01.667 Okay, I'll just then turn it over to Edward. 00:15:02.803 --> 00:15:06.153 (Edward) I'm going to talk about the process for adding links 00:15:06.153 --> 00:15:08.293 from OpenStreetMap to Wikidata. 00:15:08.412 --> 00:15:12.942 So, I've written a tool for automating this process. 00:15:13.772 --> 00:15:15.752 Like, it's user-assisted editing. 00:15:15.752 --> 00:15:18.072 So, it's not a fully automated tool. 00:15:18.072 --> 00:15:20.072 It's available. Anyone can use it. 00:15:20.142 --> 00:15:21.992 There's the address. 00:15:22.452 --> 00:15:29.200 So, when I run the tool on Berlin, it finds 2,800 matches. 00:15:30.080 --> 00:15:31.685 So, these are Wikidata items 00:15:31.685 --> 00:15:36.604 where it thinks it has found the same OpenStreetMap objects. 00:15:37.868 --> 00:15:40.904 So, the matcher is using this criteria. 00:15:40.904 --> 00:15:43.194 It looks for things that are the same entity type. 00:15:43.194 --> 00:15:44.556 They've got the same coordinates, 00:15:44.556 --> 00:15:48.209 and then either they've got the same name, street address, or identifier. 00:15:48.981 --> 00:15:52.750 So, with the name, it's doing lots of kind of normalization, 00:15:52.750 --> 00:15:57.537 like lower casing, removing spaces, all kinds of bits and pieces 00:15:57.537 --> 00:15:59.847 to try and match up slightly different ways 00:15:59.847 --> 00:16:01.386 that you could write a name. 00:16:01.386 --> 00:16:03.695 And I'm looking at names from different sources, 00:16:03.695 --> 00:16:05.361 like the labels, and the aliases, 00:16:05.361 --> 00:16:08.563 but also the site links, the article titles, 00:16:08.563 --> 00:16:13.710 and I pull anything in bold from the Wikipedia article, 00:16:13.710 --> 00:16:15.934 so lots of sources for names. 00:16:16.504 --> 00:16:18.589 These are the identifiers that I'm matching on. 00:16:18.589 --> 00:16:21.671 So, we've got lots of identifiers in Wikidata. 00:16:21.671 --> 00:16:24.629 OpenStreetMap has identifiers, as well. 00:16:24.629 --> 00:16:27.468 So, I've got a mapping between the name of the tag 00:16:27.468 --> 00:16:31.833 for the identifier in OpenStreetMap, and the property in Wikidata, 00:16:31.833 --> 00:16:34.472 and I look for things that have the same identifier. 00:16:34.706 --> 00:16:38.850 So, my first version of this, I tried to completely automate it, 00:16:38.850 --> 00:16:41.760 and the OpenStreetMap community was not impressed. 00:16:41.760 --> 00:16:44.860 So, better to have a semi-automated process, 00:16:44.860 --> 00:16:49.110 so people put in a place name, and then they see a list of matches, 00:16:49.110 --> 00:16:51.500 and they go through and they check the matches, 00:16:51.500 --> 00:16:53.731 and when they're happy, they hit save. 00:16:54.371 --> 00:16:57.080 And the OpenStreetMap community is much happier with that. 00:16:57.080 --> 00:17:00.770 It does make mistakes, the software, it tries very carefully, 00:17:00.770 --> 00:17:03.470 but there are errors in there. 00:17:03.470 --> 00:17:05.510 So you have to have someone checking them. 00:17:06.725 --> 00:17:09.150 I've got a question of like, when I designed this, 00:17:09.150 --> 00:17:11.150 I felt like there should be a one-to-one mapping 00:17:11.150 --> 00:17:13.880 between things in OpenStreetMap and Wikidata, 00:17:13.880 --> 00:17:15.370 and it doesn't really work. 00:17:15.370 --> 00:17:20.651 Like for my example, tunnels often get represented as two objects 00:17:20.651 --> 00:17:22.750 in OpenStreetMap-- one for each tunnel bore, 00:17:22.750 --> 00:17:25.951 or each road, lane within the tunnel-- 00:17:25.951 --> 00:17:29.990 whereas in Wikidata they tend to be represented as a single item, 00:17:30.550 --> 00:17:34.150 so I need to change my software to take account of this. 00:17:36.030 --> 00:17:38.820 And I have difficulties with tram stops. 00:17:38.974 --> 00:17:43.174 So one item in Wikidata for a tram stop, 00:17:43.174 --> 00:17:46.506 but in OpenStreetMap, it's represented 00:17:46.573 --> 00:17:50.093 as a relation with nodes 00:17:50.093 --> 00:17:53.023 where the tram stops on either side of the road. 00:17:53.023 --> 00:17:57.852 But I'm using a piece of software called osm2pgsql 00:17:57.852 --> 00:18:00.602 to do the OpenStreetMap side of things. 00:18:00.602 --> 00:18:03.112 And it doesn't really support these relations. 00:18:03.112 --> 00:18:05.772 So, I'm struggling with tram stops. 00:18:06.653 --> 00:18:08.133 And so, people are using this tool. 00:18:08.133 --> 00:18:11.612 There's almost 10,000 changesets uploaded to OpenStreetMap. 00:18:11.612 --> 00:18:14.783 Edits on OpenStreetMap are grouped into changesets; 00:18:14.783 --> 00:18:17.602 they're not individual edits like on Wikidata. 00:18:17.602 --> 00:18:20.282 And I've got over 200 users. 00:18:21.062 --> 00:18:25.802 And using this tool, there's been a quarter of a million links added 00:18:25.802 --> 00:18:27.402 to OpenStreetMap. 00:18:27.712 --> 00:18:32.032 But overall, those people are adding Wikidata links by hand, 00:18:32.032 --> 00:18:36.372 or with other tools, and there's now 1.4 million OpenStreetMap objects 00:18:36.372 --> 00:18:38.192 with a Wikidata tag. 00:18:40.112 --> 00:18:42.652 Yeah, so that is our presentation. 00:18:43.592 --> 00:18:45.112 Any questions? 00:18:45.112 --> 00:18:46.771 And just while we're taking questions, 00:18:46.771 --> 00:18:50.073 I'll see if I can do a live demo of the tool. 00:18:52.461 --> 00:18:54.272 Any questions? 00:18:59.922 --> 00:19:05.022 (woman) I'm very interested in sort of surpassing this license problem. 00:19:06.127 --> 00:19:12.392 And can you tell me about strategies, that can be already used, such as-- 00:19:13.262 --> 00:19:17.035 I understand that there are some contributions that aren't CC0-- 00:19:17.035 --> 00:19:21.695 or like the users, or whatever they are-- 00:19:21.865 --> 00:19:27.105 that can facilitate the exchange of information between the systems. 00:19:27.718 --> 00:19:30.515 (Edward) It's true that when you sign up to OpenStreetMap, 00:19:30.515 --> 00:19:33.667 you can tick a box saying, "My edits are CC0." 00:19:34.047 --> 00:19:37.277 But the difficulty is that you are often editing something 00:19:37.277 --> 00:19:39.437 that somebody else has edited. 00:19:39.437 --> 00:19:45.797 And so, it's difficult to isolate the CC0 edits. 00:19:47.607 --> 00:19:52.388 (woman) Maybe like-- further question, like what can we do about that? 00:19:52.417 --> 00:19:56.460 Like, can we discuss-- I mean, I think it has been tried, 00:19:56.460 --> 00:19:59.717 but I don't think it's necessarily doomed to fail. 00:20:03.036 --> 00:20:08.232 (Eugene) Well, the best thing we can do is try to link items together 00:20:08.232 --> 00:20:11.027 using Edward's tool and other tools. 00:20:12.217 --> 00:20:18.727 But for the moment, we just try to map these things separately. 00:20:20.065 --> 00:20:21.523 Maybe we can coordinate-- 00:20:21.614 --> 00:20:27.504 for example, if the third-party database that we want to import is compatible 00:20:27.536 --> 00:20:32.543 with both Wikidata and OpenStreetMap, you can do a coordinated import to both. 00:20:33.193 --> 00:20:37.633 But otherwise, we really have to respect the license, 00:20:37.633 --> 00:20:42.039 because in order for OpenStreetMap to work, 00:20:42.567 --> 00:20:46.335 it really respects intellectual property and copyright. 00:20:54.909 --> 00:20:58.638 (man) Thank you. Is it possible to change the language of the background 00:20:58.638 --> 00:21:02.085 when you go to the map? 00:21:03.221 --> 00:21:06.182 Because it appears the language of the local place 00:21:06.182 --> 00:21:08.336 that you are looking for. 00:21:09.794 --> 00:21:16.316 (Eugene) So, in OpenStreetMap, basically, we tag the default name 00:21:16.316 --> 00:21:21.219 according to the local language of that place. 00:21:21.625 --> 00:21:24.872 So, for example, if you go to Japan in OpenStreetMap, 00:21:24.872 --> 00:21:26.649 you will see Japanese names. 00:21:28.189 --> 00:21:30.833 You cannot do that using the OpenStreetMap website, 00:21:30.833 --> 00:21:35.465 but there are third-party services or tile services 00:21:35.465 --> 00:21:39.555 that provide multilingual maps. 00:21:40.364 --> 00:21:43.074 As I mentioned, there's Mapbox, there's MapTiler. 00:21:43.074 --> 00:21:46.071 They provide multilingual maps so that you can use that 00:21:46.071 --> 00:21:50.288 instead of the default layer in OpenStreetMap. 00:21:50.896 --> 00:21:56.358 (man) [inaudible] 00:21:56.358 --> 00:22:01.274 or from the OpenStreetMap [inaudible]? 00:22:02.167 --> 00:22:03.748 Yeah, for example-- 00:22:03.748 --> 00:22:05.980 (man) [inaudible] 00:22:05.980 --> 00:22:10.605 not actually to this tool, but also [inaudible]. 00:22:11.026 --> 00:22:15.304 Well, currently, OpenStreetMap, as a project does not-- 00:22:16.564 --> 00:22:19.102 no project to provide this service, 00:22:19.102 --> 00:22:22.699 because the idea is that we provide the data, 00:22:22.699 --> 00:22:26.841 and other people can build on that to provide the services 00:22:26.841 --> 00:22:29.802 that users will be able to use. 00:22:33.410 --> 00:22:38.890 (man 2) Yeah, this is a great project for all to [inaudible] on Wikidata. 00:22:39.458 --> 00:22:45.011 Say, in Wikidata, we have a lot of locations, 00:22:45.501 --> 00:22:48.617 which is already coded and it is CC0. 00:22:49.396 --> 00:22:55.919 So, there are a lot of images, a lot of other things are in Wikidata. 00:22:56.295 --> 00:23:01.216 So, if we integrate this Wikidata Q items to OSM, 00:23:03.698 --> 00:23:06.576 can we pull this, all the other information 00:23:06.576 --> 00:23:10.064 from Wikidata directly to OpenStreetMap, 00:23:10.064 --> 00:23:12.104 any kind of tool, or something like that? 00:23:12.104 --> 00:23:16.133 Or can we add an image which is in Commons? 00:23:16.133 --> 00:23:20.475 Can we add the link of the image in Commons to OpenStreetMap, 00:23:20.475 --> 00:23:23.239 like this Wikidata ID? 00:23:24.138 --> 00:23:25.520 I feel like you don't need to. 00:23:25.520 --> 00:23:29.069 Just leave the data in Wikidata, and access it through the link. 00:23:29.069 --> 00:23:32.428 Like just add the link from OpenStreetMap to Wikidata, 00:23:32.428 --> 00:23:35.428 and then, if you want the images-- don't duplicate the data, 00:23:35.428 --> 00:23:38.158 don't have the same thing in both places. 00:23:38.818 --> 00:23:42.198 And like Eugene was saying, it's a bit tricky copying the data. 00:23:42.198 --> 00:23:43.608 It's true that it's CC0, 00:23:43.608 --> 00:23:45.728 but if we just start importing lots of data, 00:23:45.728 --> 00:23:48.459 then OpenStreetMap's going to ask what's the provenance of the data, 00:23:48.459 --> 00:23:50.538 where has all this come from. 00:23:52.589 --> 00:23:55.338 I mean, I don't know if Eugene-- if you got anything to add to that. 00:23:55.338 --> 00:23:58.518 (Eugene) Well, OpenStreetMap does have an image tag. 00:23:58.518 --> 00:24:02.217 So, you can add that image tag pointing to a Commons file, 00:24:02.217 --> 00:24:03.551 if you really want to. 00:24:03.551 --> 00:24:07.937 But if you link it to the Wikidata item, you don't need that, 00:24:07.937 --> 00:24:10.577 because the Wikidata item 00:24:10.577 --> 00:24:14.767 would probably have a Commons category statement, 00:24:14.767 --> 00:24:19.182 and that provides you links to several images, as well. 00:24:19.556 --> 00:24:22.843 You don't need to add that in OpenStreetMap. 00:24:23.979 --> 00:24:26.248 Can I just show this quick demo. 00:24:26.248 --> 00:24:28.276 This is the software that I built. 00:24:28.276 --> 00:24:32.173 So, I've looked up Orange County in Indiana. 00:24:32.733 --> 00:24:37.728 You can see, I've already run the software in 2017, and I added 43 elements. 00:24:38.520 --> 00:24:41.074 It guesses the language is English, 00:24:41.074 --> 00:24:45.779 by looking at the number of languages that the Wikidata labels are in. 00:24:46.588 --> 00:24:49.101 And so the software has found five matches, 00:24:49.101 --> 00:24:52.384 and it's got a list of matches with tick boxes. 00:24:52.384 --> 00:24:53.681 There's a map. 00:24:54.004 --> 00:24:58.623 It shows you the first paragraph from the Wikipedia article 00:24:58.623 --> 00:25:00.857 in the currently selected language. 00:25:00.965 --> 00:25:05.105 If I say, show tags, these are the tags from OpenStreetMap, 00:25:05.105 --> 00:25:07.792 so it's matched--the name is the same. 00:25:07.792 --> 00:25:12.058 It says it's found eight name matches, and it's a hotel which matches. 00:25:12.705 --> 00:25:14.245 I can say, show on map. 00:25:14.245 --> 00:25:19.256 And the pin is the location of the Wikidata coordinates, 00:25:19.256 --> 00:25:22.055 and it's matched this hotel building polygon. 00:25:22.625 --> 00:25:24.595 So, I can go through, and you can see some others. 00:25:24.595 --> 00:25:26.035 There's a school. 00:25:26.035 --> 00:25:27.695 It's failed with the airport. 00:25:27.695 --> 00:25:31.095 The airport is represented both as a node and as a way, 00:25:31.095 --> 00:25:33.245 and it can't figure out which one to use, 00:25:33.635 --> 00:25:35.585 so it isn't going to do the airport. 00:25:36.365 --> 00:25:42.085 Here's a historic bank building that it's managed to match. 00:25:42.885 --> 00:25:46.095 There's an old name tag in OpenStreetMap, 00:25:46.095 --> 00:25:49.455 that it's matched the old name, with the name that is in Wikidata. 00:25:50.274 --> 00:25:52.635 And then it's also matched up public library. 00:25:52.635 --> 00:25:55.780 So, if I click on add wikidata tags to OpenStreetMap, 00:25:55.780 --> 00:25:58.058 it gives me a change comment field where I could edit it-- 00:25:58.058 --> 00:25:59.628 change comment if I wanted. 00:25:59.628 --> 00:26:01.621 And it shows me the same matches again. 00:26:01.621 --> 00:26:04.389 And I hit save, and it's edited the map, 00:26:04.389 --> 00:26:07.794 and it's added the Wikidata tags to the map. 00:26:10.437 --> 00:26:16.034 (applause) 00:26:19.763 --> 00:26:21.535 ([Muhammad]) It's actually not a question. 00:26:21.535 --> 00:26:24.007 But first, thank you for this project. 00:26:25.057 --> 00:26:27.690 My name is [Muhammad Hidjal] from Palestine. 00:26:28.083 --> 00:26:31.713 I am a civil engineer, and I do some special statistics. 00:26:32.579 --> 00:26:37.353 A few months ago, a magazine in my country asked me to do some statistics 00:26:37.353 --> 00:26:39.024 on Nobel Prize winners. 00:26:39.524 --> 00:26:42.923 So, for that, I used Wikidata Query Service, 00:26:42.923 --> 00:26:47.113 and ArcGIS program for geographic information system analyzation. 00:26:47.754 --> 00:26:51.653 I extracted the place of birth for all Nobel Prize winners, 00:26:51.653 --> 00:26:55.874 and projected them on the map using ArcGIS program, 00:26:55.874 --> 00:26:58.792 and then they asked me, "How many of them-- 00:26:59.124 --> 00:27:03.303 how many of the winners were born in the north part of the world, 00:27:03.303 --> 00:27:06.309 how many of them were born in the south part of the world?" 00:27:06.309 --> 00:27:09.391 The problem here is that ArcGIS program is not free 00:27:09.391 --> 00:27:11.505 and I don't want to use it anymore. 00:27:11.505 --> 00:27:15.317 Can I do these statistics using OpenStreetMap 00:27:15.317 --> 00:27:19.493 after projecting the special information of these? 00:27:21.485 --> 00:27:24.118 Okay, so the problem is that what you're doing-- 00:27:24.118 --> 00:27:28.699 what you're trying to do is what we call a geospatial analysis. 00:27:29.309 --> 00:27:32.394 However, OpenStreetMap is a data project. We provide data. 00:27:33.003 --> 00:27:37.018 And what you can do is, for example, take the data from OpenStreetMap, 00:27:37.018 --> 00:27:40.554 take the data from your Nobel Prize place of births, 00:27:40.554 --> 00:27:44.612 and use a tool, like ArcGIS, which is not free, 00:27:44.612 --> 00:27:47.376 but there's an open source tool, called QGIS, 00:27:47.376 --> 00:27:51.067 which you can use to do that spatial analysis that you want. 00:27:51.472 --> 00:27:53.505 So, you can combine, for example, 00:27:53.505 --> 00:27:57.729 the boundaries for northern countries versus southern countries, 00:27:57.729 --> 00:28:03.454 put that in QGIS, then put your data with the Nobel Prize place of births, 00:28:03.859 --> 00:28:07.430 and then do an intersection tool or function. 00:28:08.037 --> 00:28:09.414 So, yeah. 00:28:09.626 --> 00:28:13.086 So, I think we're out of time, and it's lunch now. 00:28:13.175 --> 00:28:14.617 Thanks, everyone. 00:28:14.617 --> 00:28:19.857 (applause)