1 00:00:06,259 --> 00:00:08,379 Hello. So, good afternoon. 2 00:00:08,379 --> 00:00:11,919 Welcome to the OpenStreetMap and Wikidata workshop. 3 00:00:11,919 --> 00:00:13,479 My name is Eugene. 4 00:00:13,479 --> 00:00:16,849 And together with Edward, we'll be talking about OpenStreetMap 5 00:00:16,849 --> 00:00:20,069 and how it can work together with Wikidata. 6 00:00:20,118 --> 00:00:21,718 So, just a show of hands. 7 00:00:21,718 --> 00:00:24,638 Who here has an OpenStreetMap account? 8 00:00:26,538 --> 00:00:30,638 Okay, some. So, probably this is not new to you. 9 00:00:30,638 --> 00:00:33,838 But for those who are not familiar with OpenStreetMap, 10 00:00:33,838 --> 00:00:37,348 I'll give an introduction to OpenStreetMap and its data model. 11 00:00:37,348 --> 00:00:39,478 So, basically, what is OpenStreetMap? 12 00:00:39,478 --> 00:00:42,688 It is basically a crowdsourced project to map the whole world. 13 00:00:43,579 --> 00:00:46,608 And the usual way we introduce OpenStreetMap to people 14 00:00:46,608 --> 00:00:50,636 is like OpenStreetMap is like Wikipedia for maps. 15 00:00:51,692 --> 00:00:55,097 But actually, a more accurate way to introduce OpenStreetMap 16 00:00:55,097 --> 00:00:57,897 is that it is like Wikidata for geographical data. 17 00:00:58,260 --> 00:01:01,711 But that presupposes that the audience already knows or is familiar 18 00:01:01,711 --> 00:01:03,695 with what Wikidata is. 19 00:01:04,347 --> 00:01:07,596 And why do we say that OpenStreetMap is like Wikidata? 20 00:01:08,083 --> 00:01:11,690 And that's because both have quite a lot of things in common, 21 00:01:11,690 --> 00:01:14,731 both being crowdsourced and open data projects. 22 00:01:16,071 --> 00:01:18,136 So, you know Wikidata-- 23 00:01:18,136 --> 00:01:20,938 it has items, statements, properties, et cetera. 24 00:01:21,250 --> 00:01:26,690 In the same way, OpenStreetMap has things like nodes, ways, relations, 25 00:01:26,690 --> 00:01:30,570 that have members and roles, and these have tags 26 00:01:30,570 --> 00:01:33,450 that are composed of keys and values. 27 00:01:34,230 --> 00:01:40,236 So, as more detail, nodes, ways, and relations model the geometry 28 00:01:40,236 --> 00:01:42,380 and topology of objects. 29 00:01:42,971 --> 00:01:46,950 And then, we have tags, which are actually key value strings 30 00:01:46,950 --> 00:01:51,040 that describe the actual things that those objects represent. 31 00:01:51,920 --> 00:01:57,760 So, to give an example, here's the Wikidata item for Berlin. 32 00:01:57,790 --> 00:02:02,530 So, we can have property like population, 3 million something, 33 00:02:03,069 --> 00:02:05,695 with a qualifier, point in time, and references. 34 00:02:06,243 --> 00:02:09,782 And they have counterparts in OpenStreetMap. 35 00:02:09,782 --> 00:02:13,136 So, for example, the Berlin relation in OpenStreetMap 36 00:02:13,136 --> 00:02:17,162 has the tag population is equal to 3.4 million something, 37 00:02:17,662 --> 00:02:23,662 and it has another tag, *source:population* equals this URL and that date. 38 00:02:24,382 --> 00:02:26,522 So, unlike in Wikidata, 39 00:02:26,522 --> 00:02:29,762 wherein you can have qualifiers and references for your statements, 40 00:02:29,762 --> 00:02:32,412 in OpenStreetMap, the tag is quite flat. 41 00:02:32,912 --> 00:02:36,452 There's no secondary levels of tags. 42 00:02:36,521 --> 00:02:37,821 Everything is flat. 43 00:02:37,821 --> 00:02:40,881 And that's why we have to put what you call secondary tags. 44 00:02:40,912 --> 00:02:43,732 So, for example here, *source:population* 45 00:02:43,732 --> 00:02:46,963 to indicate that the population tag has this source. 46 00:02:48,583 --> 00:02:52,108 Another thing is that OpenStreetMap's tags are not strictly controlled. 47 00:02:52,108 --> 00:02:55,532 Unlike with Wikidata, wherein you have to have approval process 48 00:02:55,532 --> 00:02:57,583 before properties are created, 49 00:02:57,583 --> 00:02:59,431 here, OpenStreetMap mappers 50 00:02:59,431 --> 00:03:02,792 can invent and add any tags that they like. 51 00:03:02,792 --> 00:03:05,587 However, there is a tagging proposal process 52 00:03:05,587 --> 00:03:07,858 in order to propose common tags 53 00:03:07,858 --> 00:03:11,391 that will be used by mappers all over the world. 54 00:03:14,107 --> 00:03:17,770 Okay, data modeling discussions on the Wikidata:Project chat page 55 00:03:17,770 --> 00:03:19,899 are actually quite similar to the discussions 56 00:03:19,899 --> 00:03:22,039 in OpenStreetMap's tagging mailing list. 57 00:03:22,659 --> 00:03:26,709 For example, here's an example of discussion on the project tag, 58 00:03:27,759 --> 00:03:30,599 how do we model a building that has changed its use? 59 00:03:30,599 --> 00:03:33,393 In OpenStreetMap, we have similar discussions. 60 00:03:33,393 --> 00:03:35,819 How do we tag these sorts of buildings? 61 00:03:37,734 --> 00:03:40,833 So, I've given an introduction of what OpenStreetMap is. 62 00:03:40,833 --> 00:03:45,293 I'd love to discuss it more, but we don't have enough time. 63 00:03:45,429 --> 00:03:48,772 So, we'll go into how do we link 64 00:03:48,772 --> 00:03:51,392 between OpenStreetMap and Wikidata together. 65 00:03:51,392 --> 00:03:54,612 I don't have to explain why linking is a good thing. 66 00:03:54,671 --> 00:03:58,332 We're all Wikidatans, and we know that linking data is a good thing. 67 00:03:59,052 --> 00:04:03,012 So, how do we actually link Wikidata with OpenStreetMap? 68 00:04:03,601 --> 00:04:06,202 So, from Wikidata to OpenStreetMap, 69 00:04:06,681 --> 00:04:10,721 Wikidata items on places can link to OpenStreetMap relations 70 00:04:10,721 --> 00:04:14,842 using the OSM relation ID, or the P402 property. 71 00:04:15,442 --> 00:04:17,612 So, the question is: why only relations? 72 00:04:18,133 --> 00:04:20,861 That's because OSM IDs are not stable. 73 00:04:21,521 --> 00:04:26,272 For example, you can change nodes to represent a different object. 74 00:04:26,942 --> 00:04:28,700 Ways can be split 75 00:04:29,760 --> 00:04:34,550 to add new information about those ways. 76 00:04:35,410 --> 00:04:42,326 However, relatively, relations in OpenStreetMap are relatively stable. 77 00:04:42,860 --> 00:04:47,349 At least for major relations, such as administrative boundaries, 78 00:04:47,349 --> 00:04:50,410 or highway routes, or public transportation routes. 79 00:04:51,171 --> 00:04:54,839 That way, you can link at least the, for example, here, 80 00:04:55,219 --> 00:04:57,639 Berlin Wikidata data edit item, 81 00:04:57,639 --> 00:05:00,312 can link to the relation representing the boundary 82 00:05:00,312 --> 00:05:04,269 in OpenStreetMap via its ID. 83 00:05:05,260 --> 00:05:09,310 In terms of the ontology, Wikidata items and properties 84 00:05:09,310 --> 00:05:13,489 for geographical features can link to "equivalent," in quotes, 85 00:05:13,489 --> 00:05:16,959 OpenStreetMap classes using the OSM tag or key property. 86 00:05:17,399 --> 00:05:22,759 For example, the lighthouse item in Wikidata has the value 87 00:05:22,838 --> 00:05:27,029 for OpenStreetMap tag or key *Tag:man_made=lighthouse*. 88 00:05:27,279 --> 00:05:32,369 That means that lighthouses are equivalent to objects that are tagged 89 00:05:32,369 --> 00:05:35,459 in OpenStreetMap with man-made lighthouse. 90 00:05:37,379 --> 00:05:41,489 Going in the other direction, OpenStreetMap objects can link 91 00:05:41,489 --> 00:05:44,859 to corresponding Wikipedia articles and Wikidata items 92 00:05:44,859 --> 00:05:48,340 using the Wikipedia and Wikidata tags, respectively. 93 00:05:48,818 --> 00:05:50,039 So, here's an example. 94 00:05:50,039 --> 00:05:52,498 The OpenStreetMap relation for Berlin. 95 00:05:52,498 --> 00:05:54,838 We have the Wikidata tag, Q64, 96 00:05:55,379 --> 00:06:00,128 and the Wikipedia article linking to the German article for Berlin. 97 00:06:02,158 --> 00:06:04,678 There are also several Wikidata secondary tags, 98 00:06:04,678 --> 00:06:09,001 such as for example, *brand:wikidata*, *architect:wikidata*, *artist:wikidata*, 99 00:06:09,001 --> 00:06:11,196 or *name:etymology:wikidata*. 100 00:06:11,196 --> 00:06:14,418 We use this in order to exactly specify 101 00:06:15,468 --> 00:06:17,840 what we are referring to. 102 00:06:18,334 --> 00:06:21,135 For example, on the top part here, we have the example. 103 00:06:21,746 --> 00:06:24,059 There's an artwork in OpenStreetMap 104 00:06:24,059 --> 00:06:27,427 that was created by the artist named Herakut, 105 00:06:27,876 --> 00:06:29,215 but who is that? 106 00:06:29,215 --> 00:06:32,669 So, in order to specify exactly, we use *artist:wikidata*, 107 00:06:32,669 --> 00:06:34,380 and that Q ID number. 108 00:06:34,383 --> 00:06:39,530 So that you can be exactly sure which Herakut artist it really is. 109 00:06:40,090 --> 00:06:43,850 This is also useful, for example, if you're tagging, for example, 110 00:06:46,090 --> 00:06:48,700 objects in OpenStreetMap that are in a different language. 111 00:06:48,700 --> 00:06:52,856 For example, in Japan, you might have a fast-food restaurant 112 00:06:52,856 --> 00:06:56,437 called Makudonarudo, which is actually McDonald's. 113 00:06:56,437 --> 00:06:59,483 So, you can tag that using the *brand:wikidata* tag 114 00:07:00,183 --> 00:07:03,343 pointing to the McDonald's item in Wikidata. 115 00:07:06,059 --> 00:07:11,399 So, in terms of ontology, we define and describe the tags 116 00:07:11,399 --> 00:07:14,809 in OpenStreetMap on the OpenStreetMap Wiki, 117 00:07:14,809 --> 00:07:20,309 and we can add links to corresponding Wikipedia articles and Wikidata items 118 00:07:20,729 --> 00:07:25,688 so that we can sort of explain the correspondences and relations 119 00:07:25,688 --> 00:07:29,780 between these tags and items in Wikidata. 120 00:07:32,692 --> 00:07:38,532 Okay, so how do OpenStreetMap and Wikimedia use each other's data? 121 00:07:39,827 --> 00:07:42,181 So, first, we have the interactive maps. 122 00:07:42,181 --> 00:07:44,744 So, OpenStreetMap data powers 123 00:07:44,744 --> 00:07:48,475 the Wikimedia Foundation's Kartotherian map tile service, 124 00:07:48,475 --> 00:07:51,242 which is used by the Kartographer MediaWiki extension. 125 00:07:51,607 --> 00:07:54,241 So, basically, any time you see an interactive map 126 00:07:54,241 --> 00:07:58,213 or almost any interactive map on any Wikimedia project, 127 00:07:58,213 --> 00:08:01,816 that is usually powered by the Kartotherian map tile service. 128 00:08:02,263 --> 00:08:07,004 For example, here's the interactive map for Berlin in the English Wikivoyage. 129 00:08:07,695 --> 00:08:11,583 So, the base map there is all coming from OpenStreetMap. 130 00:08:13,446 --> 00:08:16,811 So, another thing that the Kartographer extension can do 131 00:08:16,811 --> 00:08:20,332 is it can pull and overlay geometry from OpenStreetMap. 132 00:08:20,778 --> 00:08:25,799 So, here's the infobox on Commons for the Berlin category. 133 00:08:26,324 --> 00:08:30,953 And the map there, you can see an outline for Berlin, there. 134 00:08:31,397 --> 00:08:33,873 That outline comes from OpenStreetMap. 135 00:08:35,659 --> 00:08:40,528 In 2008, the foundation released localized map tiles for Kartotherian, 136 00:08:40,528 --> 00:08:45,191 and this leveraged the multilingual name tags in OpenStreetMap, 137 00:08:45,191 --> 00:08:49,370 so that you can view those maps that you see on Wikimedia projects 138 00:08:49,370 --> 00:08:51,279 in the user's language. 139 00:08:53,067 --> 00:08:56,229 Then, how do we use Wikidata in OpenStreetMap? 140 00:08:56,594 --> 00:08:59,270 For example, when tagging brands, 141 00:08:59,336 --> 00:09:02,216 for example, in shops and restaurants or banks, 142 00:09:02,986 --> 00:09:07,726 OpenStreetMap's Name Suggestion Index uses Wikidata to provide brand identity 143 00:09:07,726 --> 00:09:09,326 and improved tagging. 144 00:09:09,326 --> 00:09:13,306 So, for example, if you tag an object in OpenStreetMap 145 00:09:13,306 --> 00:09:18,456 with brand Wikidata pointing to the McDonald's item in Wikidata, 146 00:09:19,886 --> 00:09:22,937 the name field is now automatically locked 147 00:09:22,937 --> 00:09:26,598 so that users cannot just change that to, for example, Burger King. 148 00:09:27,567 --> 00:09:32,523 And then, you can edit or also pull icons, 149 00:09:34,063 --> 00:09:35,763 the McDonald's icon there 150 00:09:35,763 --> 00:09:41,962 that is taken from the Facebook item property 151 00:09:41,962 --> 00:09:43,782 in Wikidata. 152 00:09:44,361 --> 00:09:45,811 So, yeah. 153 00:09:45,811 --> 00:09:50,111 So, that, at least, when users are tagging these shops in OpenStreetMap, 154 00:09:50,111 --> 00:09:52,751 they can be sure that they're doing it correctly. 155 00:09:54,822 --> 00:09:59,311 Okay, so Sophox is a SPARQL endpoint for OpenStreetMap data. 156 00:09:59,771 --> 00:10:04,081 So, this service can use RDF federation to also query linked Wikidata items. 157 00:10:04,721 --> 00:10:09,251 So, actually, in OpenStreetMap, we usually use other query services, 158 00:10:09,251 --> 00:10:11,041 such as Overpass. 159 00:10:11,421 --> 00:10:16,771 But if you want to also query using Wikidata items, 160 00:10:17,311 --> 00:10:21,511 we have the Sophox endpoint that you can use. 161 00:10:23,711 --> 00:10:27,101 And for geocoding, if you're not familiar with geocoding, 162 00:10:27,101 --> 00:10:32,291 basically, that's the technology wherein given an address, 163 00:10:32,831 --> 00:10:37,097 you are returned geocoordinates. 164 00:10:37,825 --> 00:10:42,900 So, we have what we call Nominatim, which is the usual service 165 00:10:42,900 --> 00:10:45,417 in OpenStreetMap for doing geocoding. 166 00:10:45,417 --> 00:10:50,008 And previously, it already uses Wikipedia tags in OpenStreetMap. 167 00:10:50,534 --> 00:10:55,316 But this year, we added Google Summer of Code project code 168 00:10:55,316 --> 00:10:59,289 to integrate using Wikidata tags in Nominatim, 169 00:10:59,289 --> 00:11:02,855 so that search results can become more relevant for users 170 00:11:02,855 --> 00:11:05,084 who are doing the searches. 171 00:11:06,583 --> 00:11:12,306 And for localization, Mapbox and MapTiler, which are third-party companies 172 00:11:12,306 --> 00:11:15,622 that extensively use OpenStreetMap, 173 00:11:15,622 --> 00:11:18,787 they use Wikidata to power their localized map products. 174 00:11:19,111 --> 00:11:23,854 So, basically, if there are missing name tags in OpenStreetMap, 175 00:11:23,854 --> 00:11:29,937 and if that object is linked to Wikidata, they can pull the labels from Wikidata, 176 00:11:29,937 --> 00:11:35,217 and use that to show multilingual labels, if that is missing in OpenStreetMap. 177 00:11:35,705 --> 00:11:39,675 The reason for that is because we have a philosophy in OpenStreetMap 178 00:11:39,675 --> 00:11:45,603 that we do not try to add too many tags, especially if that can be automated. 179 00:11:45,656 --> 00:11:48,296 For example, for automatic transliterations, 180 00:11:48,857 --> 00:11:52,973 if that can be automated, we don't need to add that to OpenStreetMap. 181 00:11:52,973 --> 00:11:56,156 But in Wikidata, that's no problem. 182 00:11:56,156 --> 00:12:01,184 So, you can do that by doing this linking between OpenStreetMap and Wikidata. 183 00:12:01,184 --> 00:12:06,616 You don't have to do that transliteration on your own. 184 00:12:06,625 --> 00:12:08,855 You can just pull it from Wikidata. 185 00:12:10,315 --> 00:12:15,805 And also, the OpenStreetMap Wiki has the Wikibase extension installed. 186 00:12:16,565 --> 00:12:22,085 So, the idea here is that we want the tag information or the description 187 00:12:22,085 --> 00:12:27,025 or the description of the tags, that we use in OpenStreetMap 188 00:12:27,025 --> 00:12:28,905 to be machine-readable. 189 00:12:28,905 --> 00:12:32,705 Hopefully, this will be used by software and editors 190 00:12:32,705 --> 00:12:38,096 that use OpenStreetMap data to better see 191 00:12:38,096 --> 00:12:41,475 how objects are described in OpenStreetMap. 192 00:12:41,995 --> 00:12:43,995 Currently, this is not used as much, 193 00:12:43,995 --> 00:12:48,935 but hopefully, as the tagging information becomes more complete and better, 194 00:12:48,935 --> 00:12:52,215 this can be used by OpenStreetMap software, 195 00:12:52,215 --> 00:12:54,755 thanks to the Wikibase installation. 196 00:12:56,195 --> 00:12:58,635 Okay, some copyright and IP issues. 197 00:13:00,395 --> 00:13:03,805 Wikidata can't import coordinates from OpenStreetMap. 198 00:13:03,805 --> 00:13:06,975 The reason for that is because OpenStreetMap is licensed 199 00:13:06,975 --> 00:13:09,675 under the Open Database License. 200 00:13:12,195 --> 00:13:14,875 And also, we have conflicting doctrines. 201 00:13:14,875 --> 00:13:19,118 Here in the European Union and the United Kingdom, 202 00:13:19,215 --> 00:13:20,974 we have database rights. 203 00:13:22,214 --> 00:13:26,944 Whereas, in the US, we have the idea that facts are not copyrightable. 204 00:13:27,364 --> 00:13:32,034 So, we cannot just-- even though you cannot say-- 205 00:13:32,034 --> 00:13:35,954 you cannot copyright the fact that this restaurant or this bank 206 00:13:35,954 --> 00:13:39,804 or this place is at this location, 207 00:13:39,804 --> 00:13:45,264 doing that as an import or as a batch job 208 00:13:45,403 --> 00:13:47,953 is not allowed 209 00:13:47,953 --> 00:13:51,883 because OpenStreetMap is protected by database rights 210 00:13:52,843 --> 00:13:56,134 being hosted in the United Kingdom. 211 00:13:57,883 --> 00:14:03,723 Conversely, OpenStreetMap will not import geodata from Wikidata, 212 00:14:03,723 --> 00:14:07,863 despite the CC0 license, because of data provenance issues. 213 00:14:09,563 --> 00:14:15,033 If you're not familiar with how geocoordinates are added 214 00:14:15,033 --> 00:14:19,723 into Wikipedia articles, usually users just go to Google Maps, 215 00:14:20,353 --> 00:14:24,173 search, and then copy the coordinates that show up in the results, 216 00:14:24,173 --> 00:14:26,983 and place that into the Wikipedia articles. 217 00:14:27,883 --> 00:14:31,353 In OpenStreetMap, we, as much as possible, 218 00:14:31,353 --> 00:14:34,895 avoid copying data from third-party sources 219 00:14:34,895 --> 00:14:37,984 that are proprietary, such as, for example, Google Maps. 220 00:14:38,613 --> 00:14:43,493 And because of that, we will never, in OpenStreetMap, never import data 221 00:14:43,493 --> 00:14:46,823 from Wikipedia and also Wikidata, 222 00:14:46,823 --> 00:14:51,333 because most coordinates in Wikidata have been imported from Wikipedia. 223 00:14:52,173 --> 00:14:54,603 So, it's an established principle on OpenStreetMap 224 00:14:54,603 --> 00:14:57,033 that we don't import from Wikipedia. 225 00:14:58,443 --> 00:15:01,667 Okay, I'll just then turn it over to Edward. 226 00:15:02,803 --> 00:15:06,153 (Edward) I'm going to talk about the process for adding links 227 00:15:06,153 --> 00:15:08,293 from OpenStreetMap to Wikidata. 228 00:15:08,412 --> 00:15:12,942 So, I've written a tool for automating this process. 229 00:15:13,772 --> 00:15:15,752 Like, it's user-assisted editing. 230 00:15:15,752 --> 00:15:18,072 So, it's not a fully automated tool. 231 00:15:18,072 --> 00:15:20,072 It's available. Anyone can use it. 232 00:15:20,142 --> 00:15:21,992 There's the address. 233 00:15:22,452 --> 00:15:29,200 So, when I run the tool on Berlin, it finds 2,800 matches. 234 00:15:30,080 --> 00:15:31,685 So, these are Wikidata items 235 00:15:31,685 --> 00:15:36,604 where it thinks it has found the same OpenStreetMap objects. 236 00:15:37,868 --> 00:15:40,904 So, the matcher is using this criteria. 237 00:15:40,904 --> 00:15:43,194 It looks for things that are the same entity type. 238 00:15:43,194 --> 00:15:44,556 They've got the same coordinates, 239 00:15:44,556 --> 00:15:48,209 and then either they've got the same name, street address, or identifier. 240 00:15:48,981 --> 00:15:52,750 So, with the name, it's doing lots of kind of normalization, 241 00:15:52,750 --> 00:15:57,537 like lower casing, removing spaces, all kinds of bits and pieces 242 00:15:57,537 --> 00:15:59,847 to try and match up slightly different ways 243 00:15:59,847 --> 00:16:01,386 that you could write a name. 244 00:16:01,386 --> 00:16:03,695 And I'm looking at names from different sources, 245 00:16:03,695 --> 00:16:05,361 like the labels, and the aliases, 246 00:16:05,361 --> 00:16:08,563 but also the site links, the article titles, 247 00:16:08,563 --> 00:16:13,710 and I pull anything in bold from the Wikipedia article, 248 00:16:13,710 --> 00:16:15,934 so lots of sources for names. 249 00:16:16,504 --> 00:16:18,589 These are the identifiers that I'm matching on. 250 00:16:18,589 --> 00:16:21,671 So, we've got lots of identifiers in Wikidata. 251 00:16:21,671 --> 00:16:24,629 OpenStreetMap has identifiers, as well. 252 00:16:24,629 --> 00:16:27,468 So, I've got a mapping between the name of the tag 253 00:16:27,468 --> 00:16:31,833 for the identifier in OpenStreetMap, and the property in Wikidata, 254 00:16:31,833 --> 00:16:34,472 and I look for things that have the same identifier. 255 00:16:34,706 --> 00:16:38,850 So, my first version of this, I tried to completely automate it, 256 00:16:38,850 --> 00:16:41,760 and the OpenStreetMap community was not impressed. 257 00:16:41,760 --> 00:16:44,860 So, better to have a semi-automated process, 258 00:16:44,860 --> 00:16:49,110 so people put in a place name, and then they see a list of matches, 259 00:16:49,110 --> 00:16:51,500 and they go through and they check the matches, 260 00:16:51,500 --> 00:16:53,731 and when they're happy, they hit *save.* 261 00:16:54,371 --> 00:16:57,080 And the OpenStreetMap community is much happier with that. 262 00:16:57,080 --> 00:17:00,770 It does make mistakes, the software, it tries very carefully, 263 00:17:00,770 --> 00:17:03,470 but there are errors in there. 264 00:17:03,470 --> 00:17:05,510 So you have to have someone checking them. 265 00:17:06,725 --> 00:17:09,150 I've got a question of like, when I designed this, 266 00:17:09,150 --> 00:17:11,150 I felt like there should be a one-to-one mapping 267 00:17:11,150 --> 00:17:13,880 between things in OpenStreetMap and Wikidata, 268 00:17:13,880 --> 00:17:15,370 and it doesn't really work. 269 00:17:15,370 --> 00:17:20,651 Like for my example, tunnels often get represented as two objects 270 00:17:20,651 --> 00:17:22,750 in OpenStreetMap-- one for each tunnel bore, 271 00:17:22,750 --> 00:17:25,951 or each road, lane within the tunnel-- 272 00:17:25,951 --> 00:17:29,990 whereas in Wikidata they tend to be represented as a single item, 273 00:17:30,550 --> 00:17:34,150 so I need to change my software to take account of this. 274 00:17:36,030 --> 00:17:38,820 And I have difficulties with tram stops. 275 00:17:38,974 --> 00:17:43,174 So one item in Wikidata for a tram stop, 276 00:17:43,174 --> 00:17:46,506 but in OpenStreetMap, it's represented 277 00:17:46,573 --> 00:17:50,093 as a relation with nodes 278 00:17:50,093 --> 00:17:53,023 where the tram stops on either side of the road. 279 00:17:53,023 --> 00:17:57,852 But I'm using a piece of software called osm2pgsql 280 00:17:57,852 --> 00:18:00,602 to do the OpenStreetMap side of things. 281 00:18:00,602 --> 00:18:03,112 And it doesn't really support these relations. 282 00:18:03,112 --> 00:18:05,772 So, I'm struggling with tram stops. 283 00:18:06,653 --> 00:18:08,133 And so, people are using this tool. 284 00:18:08,133 --> 00:18:11,612 There's almost 10,000 changesets uploaded to OpenStreetMap. 285 00:18:11,612 --> 00:18:14,783 Edits on OpenStreetMap are grouped into changesets; 286 00:18:14,783 --> 00:18:17,602 they're not individual edits like on Wikidata. 287 00:18:17,602 --> 00:18:20,282 And I've got over 200 users. 288 00:18:21,062 --> 00:18:25,802 And using this tool, there's been a quarter of a million links added 289 00:18:25,802 --> 00:18:27,402 to OpenStreetMap. 290 00:18:27,712 --> 00:18:32,032 But overall, those people are adding Wikidata links by hand, 291 00:18:32,032 --> 00:18:36,372 or with other tools, and there's now 1.4 million OpenStreetMap objects 292 00:18:36,372 --> 00:18:38,192 with a Wikidata tag. 293 00:18:40,112 --> 00:18:42,652 Yeah, so that is our presentation. 294 00:18:43,592 --> 00:18:45,112 Any questions? 295 00:18:45,112 --> 00:18:46,771 And just while we're taking questions, 296 00:18:46,771 --> 00:18:50,073 I'll see if I can do a live demo of the tool. 297 00:18:52,461 --> 00:18:54,272 Any questions? 298 00:18:59,922 --> 00:19:05,022 (woman) I'm very interested in sort of surpassing this license problem. 299 00:19:06,127 --> 00:19:12,392 And can you tell me about strategies, that can be already used, such as-- 300 00:19:13,262 --> 00:19:17,035 I understand that there are some contributions that aren't CC0-- 301 00:19:17,035 --> 00:19:21,695 or like the users, or whatever they are-- 302 00:19:21,865 --> 00:19:27,105 that can facilitate the exchange of information between the systems. 303 00:19:27,718 --> 00:19:30,515 (Edward) It's true that when you sign up to OpenStreetMap, 304 00:19:30,515 --> 00:19:33,667 you can tick a box saying, "My edits are CC0." 305 00:19:34,047 --> 00:19:37,277 But the difficulty is that you are often editing something 306 00:19:37,277 --> 00:19:39,437 that somebody else has edited. 307 00:19:39,437 --> 00:19:45,797 And so, it's difficult to isolate the CC0 edits. 308 00:19:47,607 --> 00:19:52,388 (woman) Maybe like-- further question, like what can we do about that? 309 00:19:52,417 --> 00:19:56,460 Like, can we discuss-- I mean, I think it has been tried, 310 00:19:56,460 --> 00:19:59,717 but I don't think it's necessarily doomed to fail. 311 00:20:03,036 --> 00:20:08,232 (Eugene) Well, the best thing we can do is try to link items together 312 00:20:08,232 --> 00:20:11,027 using Edward's tool and other tools. 313 00:20:12,217 --> 00:20:18,727 But for the moment, we just try to map these things separately. 314 00:20:20,065 --> 00:20:21,523 Maybe we can coordinate-- 315 00:20:21,614 --> 00:20:27,504 for example, if the third-party database that we want to import is compatible 316 00:20:27,536 --> 00:20:32,543 with both Wikidata and OpenStreetMap, you can do a coordinated import to both. 317 00:20:33,193 --> 00:20:37,633 But otherwise, we really have to respect the license, 318 00:20:37,633 --> 00:20:42,039 because in order for OpenStreetMap to work, 319 00:20:42,567 --> 00:20:46,335 it really respects intellectual property and copyright. 320 00:20:54,909 --> 00:20:58,638 (man) Thank you. Is it possible to change the language of the background 321 00:20:58,638 --> 00:21:02,085 when you go to the map? 322 00:21:03,221 --> 00:21:06,182 Because it appears the language of the local place 323 00:21:06,182 --> 00:21:08,336 that you are looking for. 324 00:21:09,794 --> 00:21:16,316 (Eugene) So, in OpenStreetMap, basically, we tag the default name 325 00:21:16,316 --> 00:21:21,219 according to the local language of that place. 326 00:21:21,625 --> 00:21:24,872 So, for example, if you go to Japan in OpenStreetMap, 327 00:21:24,872 --> 00:21:26,649 you will see Japanese names. 328 00:21:28,189 --> 00:21:30,833 You cannot do that using the OpenStreetMap website, 329 00:21:30,833 --> 00:21:35,465 but there are third-party services or tile services 330 00:21:35,465 --> 00:21:39,555 that provide multilingual maps. 331 00:21:40,364 --> 00:21:43,074 As I mentioned, there's Mapbox, there's MapTiler. 332 00:21:43,074 --> 00:21:46,071 They provide multilingual maps so that you can use that 333 00:21:46,071 --> 00:21:50,288 instead of the default layer in OpenStreetMap. 334 00:21:50,896 --> 00:21:56,358 (man) [inaudible] 335 00:21:56,358 --> 00:22:01,274 or from the OpenStreetMap [inaudible]? 336 00:22:02,167 --> 00:22:03,748 Yeah, for example-- 337 00:22:03,748 --> 00:22:05,980 (man) [inaudible] 338 00:22:05,980 --> 00:22:10,605 not actually to this tool, but also [inaudible]. 339 00:22:11,026 --> 00:22:15,304 Well, currently, OpenStreetMap, as a project does not-- 340 00:22:16,564 --> 00:22:19,102 no project to provide this service, 341 00:22:19,102 --> 00:22:22,699 because the idea is that we provide the data, 342 00:22:22,699 --> 00:22:26,841 and other people can build on that to provide the services 343 00:22:26,841 --> 00:22:29,802 that users will be able to use. 344 00:22:33,410 --> 00:22:38,890 (man 2) Yeah, this is a great project for all to [inaudible] on Wikidata. 345 00:22:39,458 --> 00:22:45,011 Say, in Wikidata, we have a lot of locations, 346 00:22:45,501 --> 00:22:48,617 which is already coded and it is CC0. 347 00:22:49,396 --> 00:22:55,919 So, there are a lot of images, a lot of other things are in Wikidata. 348 00:22:56,295 --> 00:23:01,216 So, if we integrate this Wikidata Q items to OSM, 349 00:23:03,698 --> 00:23:06,576 can we pull this, all the other information 350 00:23:06,576 --> 00:23:10,064 from Wikidata directly to OpenStreetMap, 351 00:23:10,064 --> 00:23:12,104 any kind of tool, or something like that? 352 00:23:12,104 --> 00:23:16,133 Or can we add an image which is in Commons? 353 00:23:16,133 --> 00:23:20,475 Can we add the link of the image in Commons to OpenStreetMap, 354 00:23:20,475 --> 00:23:23,239 like this Wikidata ID? 355 00:23:24,138 --> 00:23:25,520 I feel like you don't need to. 356 00:23:25,520 --> 00:23:29,069 Just leave the data in Wikidata, and access it through the link. 357 00:23:29,069 --> 00:23:32,428 Like just add the link from OpenStreetMap to Wikidata, 358 00:23:32,428 --> 00:23:35,428 and then, if you want the images-- don't duplicate the data, 359 00:23:35,428 --> 00:23:38,158 don't have the same thing in both places. 360 00:23:38,818 --> 00:23:42,198 And like Eugene was saying, it's a bit tricky copying the data. 361 00:23:42,198 --> 00:23:43,608 It's true that it's CC0, 362 00:23:43,608 --> 00:23:45,728 but if we just start importing lots of data, 363 00:23:45,728 --> 00:23:48,459 then OpenStreetMap's going to ask what's the provenance of the data, 364 00:23:48,459 --> 00:23:50,538 where has all this come from. 365 00:23:52,589 --> 00:23:55,338 I mean, I don't know if Eugene-- if you got anything to add to that. 366 00:23:55,338 --> 00:23:58,518 (Eugene) Well, OpenStreetMap does have an image tag. 367 00:23:58,518 --> 00:24:02,217 So, you can add that image tag pointing to a Commons file, 368 00:24:02,217 --> 00:24:03,551 if you really want to. 369 00:24:03,551 --> 00:24:07,937 But if you link it to the Wikidata item, you don't need that, 370 00:24:07,937 --> 00:24:10,577 because the Wikidata item 371 00:24:10,577 --> 00:24:14,767 would probably have a Commons category statement, 372 00:24:14,767 --> 00:24:19,182 and that provides you links to several images, as well. 373 00:24:19,556 --> 00:24:22,843 You don't need to add that in OpenStreetMap. 374 00:24:23,979 --> 00:24:26,248 Can I just show this quick demo. 375 00:24:26,248 --> 00:24:28,276 This is the software that I built. 376 00:24:28,276 --> 00:24:32,173 So, I've looked up Orange County in Indiana. 377 00:24:32,733 --> 00:24:37,728 You can see, I've already run the software in 2017, and I added 43 elements. 378 00:24:38,520 --> 00:24:41,074 It guesses the language is English, 379 00:24:41,074 --> 00:24:45,779 by looking at the number of languages that the Wikidata labels are in. 380 00:24:46,588 --> 00:24:49,101 And so the software has found five matches, 381 00:24:49,101 --> 00:24:52,384 and it's got a list of matches with tick boxes. 382 00:24:52,384 --> 00:24:53,681 There's a map. 383 00:24:54,004 --> 00:24:58,623 It shows you the first paragraph from the Wikipedia article 384 00:24:58,623 --> 00:25:00,857 in the currently selected language. 385 00:25:00,965 --> 00:25:05,105 If I say, *show tags*, these are the tags from OpenStreetMap, 386 00:25:05,105 --> 00:25:07,792 so it's matched--the name is the same. 387 00:25:07,792 --> 00:25:12,058 It says it's found eight name matches, and it's a hotel which matches. 388 00:25:12,705 --> 00:25:14,245 I can say, *show on map*. 389 00:25:14,245 --> 00:25:19,256 And the pin is the location of the Wikidata coordinates, 390 00:25:19,256 --> 00:25:22,055 and it's matched this hotel building polygon. 391 00:25:22,625 --> 00:25:24,595 So, I can go through, and you can see some others. 392 00:25:24,595 --> 00:25:26,035 There's a school. 393 00:25:26,035 --> 00:25:27,695 It's failed with the airport. 394 00:25:27,695 --> 00:25:31,095 The airport is represented both as a node and as a way, 395 00:25:31,095 --> 00:25:33,245 and it can't figure out which one to use, 396 00:25:33,635 --> 00:25:35,585 so it isn't going to do the airport. 397 00:25:36,365 --> 00:25:42,085 Here's a historic bank building that it's managed to match. 398 00:25:42,885 --> 00:25:46,095 There's an *old* name tag in OpenStreetMap, 399 00:25:46,095 --> 00:25:49,455 that it's matched the *old* name, with the name that is in Wikidata. 400 00:25:50,274 --> 00:25:52,635 And then it's also matched up public library. 401 00:25:52,635 --> 00:25:55,780 So, if I click on *add wikidata tags to OpenStreetMap*, 402 00:25:55,780 --> 00:25:58,058 it gives me a *change comment* field where I could edit it-- 403 00:25:58,058 --> 00:25:59,628 *change comment* if I wanted. 404 00:25:59,628 --> 00:26:01,621 And it shows me the same matches again. 405 00:26:01,621 --> 00:26:04,389 And I hit *save*, and it's edited the map, 406 00:26:04,389 --> 00:26:07,794 and it's added the Wikidata tags to the map. 407 00:26:10,437 --> 00:26:16,034 (applause) 408 00:26:19,763 --> 00:26:21,535 ([Muhammad]) It's actually not a question. 409 00:26:21,535 --> 00:26:24,007 But first, thank you for this project. 410 00:26:25,057 --> 00:26:27,690 My name is [Muhammad Hidjal] from Palestine. 411 00:26:28,083 --> 00:26:31,713 I am a civil engineer, and I do some special statistics. 412 00:26:32,579 --> 00:26:37,353 A few months ago, a magazine in my country asked me to do some statistics 413 00:26:37,353 --> 00:26:39,024 on Nobel Prize winners. 414 00:26:39,524 --> 00:26:42,923 So, for that, I used Wikidata Query Service, 415 00:26:42,923 --> 00:26:47,113 and ArcGIS program for geographic information system analyzation. 416 00:26:47,754 --> 00:26:51,653 I extracted the place of birth for all Nobel Prize winners, 417 00:26:51,653 --> 00:26:55,874 and projected them on the map using ArcGIS program, 418 00:26:55,874 --> 00:26:58,792 and then they asked me, "How many of them-- 419 00:26:59,124 --> 00:27:03,303 how many of the winners were born in the north part of the world, 420 00:27:03,303 --> 00:27:06,309 how many of them were born in the south part of the world?" 421 00:27:06,309 --> 00:27:09,391 The problem here is that ArcGIS program is not free 422 00:27:09,391 --> 00:27:11,505 and I don't want to use it anymore. 423 00:27:11,505 --> 00:27:15,317 Can I do these statistics using OpenStreetMap 424 00:27:15,317 --> 00:27:19,493 after projecting the special information of these? 425 00:27:21,485 --> 00:27:24,118 Okay, so the problem is that what you're doing-- 426 00:27:24,118 --> 00:27:28,699 what you're trying to do is what we call a geospatial analysis. 427 00:27:29,309 --> 00:27:32,394 However, OpenStreetMap is a data project. We provide data. 428 00:27:33,003 --> 00:27:37,018 And what you can do is, for example, take the data from OpenStreetMap, 429 00:27:37,018 --> 00:27:40,554 take the data from your Nobel Prize place of births, 430 00:27:40,554 --> 00:27:44,612 and use a tool, like ArcGIS, which is not free, 431 00:27:44,612 --> 00:27:47,376 but there's an open source tool, called QGIS, 432 00:27:47,376 --> 00:27:51,067 which you can use to do that spatial analysis that you want. 433 00:27:51,472 --> 00:27:53,505 So, you can combine, for example, 434 00:27:53,505 --> 00:27:57,729 the boundaries for northern countries versus southern countries, 435 00:27:57,729 --> 00:28:03,454 put that in QGIS, then put your data with the Nobel Prize place of births, 436 00:28:03,859 --> 00:28:07,430 and then do an intersection tool or function. 437 00:28:08,037 --> 00:28:09,414 So, yeah. 438 00:28:09,626 --> 00:28:13,086 So, I think we're out of time, and it's lunch now. 439 00:28:13,175 --> 00:28:14,617 Thanks, everyone. 440 00:28:14,617 --> 00:28:19,857 (applause)