Semantic Maps

The educational technology and digital learning wiki
Jump to navigation Jump to search
Category:MediaWiki extension
Semantic Maps
Extension name Semantic Maps
About this article / disclaimer This is not official documentation
Logo Placeholder.png
Screenshot Placeholder.png
Location of the main author Gent, Belgium
Coordinates of the main authors 51.053829, 3.725012
Developers Jeroen De Dauw, others
Licences GPL v2+
Description Semantic Maps is an extension to Semantic MediaWiki (SMW) that adds semantic capabilities to the Maps extension and adds the datatype Geographic coordinate.
Mediawiki requirements 1.17.* or greater. Probably 1.21 or better works best
Dependencies Maps, Semantic MediaWiki, ParamProcessor
Related extensions (documented here) Semantic Forms, Semantic Forms Inputs, Semantic MediaWiki, Semantic Result Formats
Related extensions
Discussion
Language support
Status stable
First release date 2009/07/01
Last release date (as of 2013/08/15!) 2012/12/13
Last version number 2.0.1 (2012-12-13)
Programming language PHP
Alternatives
Website home page
Publications
Support websites web site, web site
Example websites
Last edited 2013/08/15

“Semantic Maps is an extension to Semantic MediaWiki (SMW) that adds semantic capabilities to the Maps extension and adds the datatype Geographic coordinate. This includes the ability to add, edit, aggregate and visualize coordinate data stored through the Semantic MediaWiki extension. It is based on the Maps extension and replaces the earlier implementations Semantic Google Maps and Semantic Layers.” Semantic Maps, retrieved Aug 2013

Basic how to

Installation notes

Versions and dependencies

Semantic maps is based on other extensions. Typically, you must include Validator (or ParamProcessor), SMW, semantic Forms, Maps, and finally Semantic Maps.

As of August 2013, you have to make a choice between and older and a newer version. In addition, documentation for ParamProcessor isn't up-to-date, i.e. some confusion of what you need. Also read Wikidata/Notes/SMW and Wikidata

Version 3.0.x

Currently (Aug 2013), alpha but should be working fine if you also upgrade all the dependencies. Same setup as 2.0.x.

Version 2.0.x

Download and instructions: Extension:Semantic_Maps

  • Maps 2.0.1 or above
  • ParamProcessor 1.0 or above. This is a new version of Validator and it also keeps the validator extension directory.
  • DataValues (needed by ParamProcessor)
  • Mediawiki 1.18 or above
  • PHP 5.3 or above

Version 1.0.5

Download and instructions: Extension:Semantic_Maps and the old documentation wiki

Requirements

PHP and Mediawiki version

You need some sort of "magic combo". We suggest upgrading the wiki to alpha (i.e. get all the code, including extension code from GET).

Using MW 1.20x, default PHP of Ubuntu LTS 20.04, we had a severe problem with Validator and SMW (relatated to the version of this wiki).

 Class '\\ValueValidators\\RangeValidator' not found in /export/data/portails/mediawiki/extensions/Validator/includes/ParamProcessor/ParamDefinitionFactory.php on line 181, referer: http://edutechwiki.unige.ch/en/Semantic_Forms

This might be due to an older php version but we don't know ....

After upgrading both the server and the wiki (see special:version) to bleeding edge code, it worked. See our Mediawiki version

Semantic MediaWiki version

SMW and SMF should be installed and working. Read the Semantic MediaWiki article for some installation notes ...

Download

If you want to mess with an older version (e.g. MW 1.19 or MW 1.20 as of Aug 2013)

Keep a copy of directories that you will have to overwrite. Since Semantic Maps is under aggressive development, their latest versions only seem to work with the latest versions of SMW, SMF, etc. In other words, you are likely to break your wiki and therefore should be prepared to reinstall older versions ...

cd extensions
cp -rp Validator Validator.save
cp -rp SemanticForms SemanticForms.save
cp -rp SemanticMediaWiki SemanticMediaWiki.save

Then proceed like below ....

Get bleeding edge SMW and SM code
cd extensions
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/DataValues.git
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/Validator.git
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/SemanticMediaWiki.git
git clone https://git.wikimedia.org/git/mediawiki/extensions/SemanticForms.git
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/Maps.git
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/SemanticMaps.git

Configure LocalSettings.php

(1) Add DataValues before Validator

(2) Add the SemanticMaps after all the other SMW extensions (e.g. Validator, SMW and SMF and Maps).

Example configuration:

// Start of SMW namespaces (after 106/107 = Coap)
$smwgNamespaceIndex = 108;
# DataValues (needed for ParaProcessor)
require_once( "$IP/extensions/DataValues/DataValues.php" );
# aka ParamProcessor (needed for SMW)
require_once( "$IP/extensions/Validator/Validator.php" );
# SMW
include_once("$IP/extensions/SemanticMediaWiki/SemanticMediaWiki.php");
enableSemantics('edutechwiki.unige.ch'); // adjust to yours

$smwgShowFactbox = SMW_FACTBOX_NONEMPTY;
// $smwgShowFactbox = SMW_FACTBOX_HIDDEN;

include_once("$IP/extensions/SemanticForms/SemanticForms.php");

# If one or more of your fields can contain internal links entered by users (e.g., "This is a [[cat]]")
$smwgLinksInValues = true;

# Semantic Drilldown. Needs yet another namespace
$sdgNamespaceIndex = 118;
include_once("$IP/extensions/SemanticDrilldown/SemanticDrilldown.php");

# Semantic Result Forms
require_once("$IP/extensions/SemanticResultFormats/SemanticResultFormats.php");

# Semantic Forms Inpus
require_once("$IP/extensions/SemanticFormsInputs/SemanticFormsInputs.php");

# Maps
require_once( "$IP/extensions/Maps/Maps.php" );
# Semantic Maps
require_once( "$IP/extensions/SemanticMaps/SemanticMaps.php" );

Understanding and Testing Maps

Since SemanticMaps are based on Maps, it's a good idea to understand how to use Maps first.

Read:

Try a simple Geocoding function like this:

{{#geocode:location=40 bouledvard du Pont-d'Arve, Geneva, Switzerland}}

It should show like this:

Geocoding failed

Then, create a map, using geocoding:

{{#display_map:address=40 bouledvard du Pont-d'Arve, Geneva, Switzerland}}

It should produce something like that, i.e. the location where this very page has been written :)

Loading map...

Test the Special:MapEditor page

  • Insert stuff and export the wiki code, then paste into some page.