Semantic Mapping with MediaWiki Jeroen De Dauw
Presentation outline Introduction to MediaWiki Introduction to Semantic MediaWiki – Questions Maps Semantic Maps – Questions
MediaWiki
Key features
MediaWiki
Key features Everyone can edit
MediaWiki
Key features Everyone can edit Rich content Organization Customization Internationalization Scalable
Semantic Web So what are semantics? Make data understandable for computers Make queries possible – Cross site
Semantic MediaWiki
Automatically-generated lists Visual display of information Improved data structure Searching information Inter-language consistency External reuse “Collaborative Database”
Semantic MediaWiki Semantic search Ask function {{#ask: }} {{ #ask: }}
Semantic MediaWiki Semantic search Criteria: Which pages to select [[Category:Actor]] [[born in::Boston]] [[height::180cm]] [[Category:Actor]] [[height::>6 ft]] [[height::<7 ft]] [[born in::Boston]] OR [[born in::New York]] [[Category:Cities]] [[located in.member of::European Union]]
Semantic MediaWiki Semantic search Criteria: Which information should be displayed? ?population ?area#km²
Semantic MediaWiki Semantic search Example: {{ #ask: [[Category:City]] [[located in::Germany]] | ?population | ?area#km² = Size in km² }}
Semantic MediaWiki Semantic Properties MediaWiki link: [[Germany]] [[capital of::Germany]] MediaWiki text: 3,396,990 [[population::3,396,990]]
Semantic MediaWiki Result Formats {{ #ask: [[Category:City]] [[located in::Germany]] | ?population | format=ul }}
Semantic MediaWiki Result Formats {{ #ask: [[Category:City]] [[located in::Germany]] | ?population | ?area#km² = Size in km² | ?coordinates | format=map }}
Maps MediaWiki extension Hooks into – Validator Functionality – Visual display of coordinate data – Geocoding
Maps Key features – Multiple mapping services – Multiple geocoding services – Modular build – Error feedback – Very configurable – API for mapping functionality
Maps Coordinates Floats: , DMS: 55°45′06″N 37°37′04″E DD: °, ° DM: 55° ', 37° '
Maps Geocoding {{ #geocode:Moscow, Russia}} ,
Maps Geocoding services Google Yahoo GeoNames {{#geocode:Moscow, Russia|geonames}}
Maps Smart geocoding Display_map Display_point(s) – Centre parameter ! Display_address(es) has been deprecated since 0.4
Maps Displaying a map {{#display_map: Moscow}} Or {{#display_map: 55°45′06″N 37°37′04″E}} Or...
Maps Displaying points {{#display_point: Moscow}} Or {{#display_point: , }} Or...
Maps Displaying points {{ #display_points: 55°45′06″N 37°37′04″E; New York; , }}
Maps Displaying points: point specific data Address~Title~Label~Icon
Maps Displaying points: point specific data {{ #display_points: Brussels; New York~New York city; Moscow, Russia~Moscow~A city in Russia; London~[[London]]~Capital of England~Green marker.png; Mali~Mali~~Blue marker.png }}
Maps Mapping services
Maps So how do I customize a map?
Maps Map properties {{ #display_map: New York City | property = value | property 2 = value 2 }}
Maps Map properties
Maps Map properties: default property {{#display_map: New York City}} {{#display_map: address = New York City}} {{#display_map: coordinates = New York City}} {{#display_map: coordinates = , }}
Maps Map properties: service {{ #display_point: Moscow, Russia}} {{ #display_point: Moscow, Russia | service=googlemaps }}
Maps Map properties: geoservice {{ #display_point: Moscow, Russia | geoservice=geonames }}
Maps Map properties: width and height {{ #display_point: Moscow, Russia | width = 800 | height = 420 }}
Maps Map properties: zoom and centre {{ #display_point: Moscow, Russia | zoom = 10 | centre = Brussels }}
Maps Map properties: zoom and centre {{ #display_point: Moscow, Russia; Brussels; Rome; Berlin }}
Maps Map properties: zoom and centre {{ #display_point: Moscow, Russia; Brussels; Rome; Berlin | zoom = 2 }}
Maps Map properties: title, label and icon {{ #display_point: Moscow; Brussels; Rome | icon = Green marker.png | title = A capital in Europe }}
Maps Map properties {{ #display_point: zoom=10 |width=1200 |height=1000 | , | service = google | type = physical | types = terrain, hybrid, earth | controls = large, overview-map, scale, type }}
Maps Map properties {{ #display_point: zoom=10 |width=1200 |height=1000 | , | service = google | type = physical | types = terrain, hybrid, earth | controls = large, overview-map, scale, type }} Not in the list?
Maps Service specific parameters Google Maps Yahoo! Maps
Maps Service specific parameters OpenLayers OpenStreetMap
Semantic Maps MediaWiki extension Hooks into – Maps – Semantic MediaWiki – Semantic Forms Functionality – Aggregation of coordinates (Result formats) – Insertion of coordinates (Form inputs)
Semantic Maps Mapping services Identical to the ones of Maps – Google Maps – Yahoo! Maps – OpenLayers – OpenStreetMap
Semantic Maps Result formats {{ #ask: [[Category:City]] [[located in::Germany]] | ?population | ?area#km² = Size in km² | ?coordinates | format=map }}
Semantic Maps Result formats {{ #ask: [[Category:City]] [[located in::Germany]] | ?population | ?area#km² = Size in km² | ?coordinates | format=openlayers }}
Semantic Maps Result formats: Parameters {{ #ask: [[Category:City]] [[located in::Germany]] | ?population | ?area#km² = Size in km² | ?coordinates | format=openlayers | width = 500 | height = 300 | zoom = 10 }}
Semantic Maps Result formats: Parameters
Semantic Maps Result formats: Example {{ #ask: [[Category:City]] [[located in::Germany]] | ?population| ?area#km² = Size in km² | ?coordinates | format=openlayers | width=800 | height=500 | zoom=4 | center={{#geocode:Moscow, Russia}} | layers=google-physical,yahoo,google,bing,openlayers,nasa }}
Semantic Maps Result formats: Using SCQ Semantic Compound Queries {{ #compound_query: [[Category:People]];?Has coordinates | [[Category:Organizations]];?Has coordinates;icon=Green marker.png | [[Category:Events]];?Has coordinates;icon=Blue marker.png | format=map }}
Semantic Maps Result formats: Using Semantic Drilldown
Semantic Maps Form Inputs Semantic Forms hook Allows – Coordinate insertion – Easy editing of coordinate data With a visual interface (= No wiki code!)
Semantic Maps Form Inputs: Syntax {{{ field |The coordinates |input type=yahoomaps }}}
Semantic Maps Form Inputs: Parameters {{{ field |The coordinates |input type=yahoomaps |width=800 |height=500 |zoom=8 |autozoom=off }}}
Semantic Maps Form Inputs : Parameters
Semantic Maps Form Inputs: Example {{{ field |The coordinates |input type=yahoomap |width=800 |height=500 |autozoom=off }}}
Future Plans Awesome stuff that’s not there yet! Images as layers Google Maps v3 support KML Display_route Bing Maps, Google Streetview...
Thanks to Google, for the funding of both extensions Yaron Koren, for mentoring me during the dev Wikimedia Foundation, for all the support Stichting Liedts-Meesen, for hosting this talk
References wiki.bn2vs.com Jeroen De Dauw blog.bn2vs.com