Démo Semantic MediaWiki

De EduTech Wiki
Aller à : navigation, rechercher

1 Introduction

Cette page a été préparé pour une "démo live" dans le cadre du Brown Bag Seminar de TECFA.

Programme:

Démos:

1.1 Fiche jeux

Documentation avec des fiches structurés (exemple fait en une heure ....)

1.2 Formulaire de navigation

Cours en ligne en conception (navigation, contextualisation)

1.3 Citizen science

Soutien pour un projet de recherche (portail, projets, infrastructures, logiciels)

Projets
Infrastructure
Logiciels
Page d'entrée

1.4 Infobox

Ajout d'informations structurées à des pages

2 Objectifs de Semantic MediaWiki

«Semantic MediaWiki (SMW) est une extension libre de MediaWiki – le logiciel sur lequel est basé Wikipédia – qui permet de rechercher, organiser, baliser, naviguer, évaluer et partager le contenu d'un wiki. Alors que les wikis traditionnels ne peuvent contenir que du texte ne pouvant être ni compris, ni évalué par les ordinateurs, SMW ajoute des annotations sémantiques permettant à un wiki de fonctionner comme une base de données collaborative. Semantic MediaWiki, qui a été diffusé pour la première fois en 2005, évolue aujourd'hui grâce à plus de dix développeurs et se trouve utilisé sur des centaines de site.» (Présentation de Semantic MediaWiki, consulté le 9 sept. 2013)

Quelques possibilités technique

  • Créer automatiquement des liste (par example une liste de jeux pédagogiques pour tablette Android)
  • Affichage (visualisation) de l'information (calendriers, chronologies, graphiques, cartes, ....)
  • Recherche d'information avec des formulaires ou par "forage" (drilldown)
  • Utilisation externe (les données du wiki sont accessibles par d'autres applications)
  • Intégration et mélange (mashup) de données externes.

Possibilités pour l'enseignement, la recherche et le développement

En résumé, SMW marie logiques des wikis, des bases de données et du web sémantique et permet de créer des "applications" plus structurées.

3 Attributs

3.1 Principe

L'attribut ou propriété (en Anglais: property) est au coeur du dispositif Semantic Mediawki.

  • On peut définir un attribut comme "une catégorie d'information" et qui décrit formellement le contenu d'une page.
  • Un attribut (propriété) est composé d'un nom (identificateur) et d'une valeur.
  • Les valeurs sont types, soit des types simples comme "page", "texte", "URL", "date", etc. soit des listes de phrases

Lorsqu'on insère une propriété + valeur dans une page, on définit implicitement un triplet, concept du web sémantique

Par exemple, si on aimerai ajouter l'information que Semantic Mediawiki est utile pour l'éducation, on obtient un triplet comme le suivant:

Semantic MediaWiki - est utile pour - la scénarisation pédagogique
(Sujet)              (prédicat)       (objet)

3.2 Les marqueurs sémantiques

Dans un Semantic MediaWiki, on ajoute simplement des attributs ayant des valeurs à une page et cela donne les triplets sujet-prédicat-objet du web sémantique. Si on reprend notre exemple Semantic MediaWiki - est utile pour - la scénarisation pédagogique on obtient:

  1. Sujet: Cette page (Démo Semantic MediaWiki) est le sujet
  2. Prédicat: Est utile pour est le nom de l’attribut
  3. Objet: L'éducation est la valeur de l’attribut et représente un objet. Cet objet pourrait être une page (par exemple "scénario pédagogique"), un simple texte, un nombre, etc.

Code wiki:

[[est utile pour::scénario pédagogique]]

Notez l'extension dans la syntaxe du Wiki: Les doubles :: dans un lien wiki définissent un attribut avec une valeur !

3.3 Intégration avec le formalisme RDF

3.4 Les valeurs d'attributs

Les attributs sont typés, c-a-d représente une forme de données. Les types sont:

  • Page (une page wiki)
  • Text (du texte)
  • Code (texte préformaté)
  • URL (toutes sortes d'URIs, y compris http://)
  • Number
  • Date
  • Enumeration (lists de valeurs que vous pouvez définir, tous les autres types)
  • Boolean

On peut définir le type d'un attribut en éditant sa page. property:xys, par exemple property:est utile pour

3.5 Lister / chercher des attibuts

4 Les requêtes

Une requête sémantique doit indiquer trois choses:

  1. Quelles pages doivent être sélectionnées. On peut indiquer des noms, des catégories, des propriétés, des propriétés ayant certains valeurs etc.
  2. Quelle information doit être affichée à propos de ces pages.
  3. De quel façon afficher les résultats.

4.1 Le formulaire special:ask

Special:Ask est un outil qui est plutôt destiné aux personnes très avertis. Il permet de spécifier une requête sémantique avec le query language propre à SMW.

  • A gauche en entre les conditions
  • A droite ce qu'il faut afficher
  • En bas des modifications supplémentaires

Exemple: Coller à gauche une des expressions suivantes:

[[est utile pour::+]]
[[est utile pour::scénario pédagogique]]

4.2 Le formulaire special:browse

Selon la [traduction française du manuel] (9 sept. 2013), La page spéciale pour la navigation permet de voir d'un seul coup d’œil toutes les propriétés et leurs valeurs provenant d'une simple entité. La page de navigation peut afficher à la fois les propriétés sortantes - celles qui sont marquées dans la page, et les propriétés rentrantes - celles qui lient à cette page. Ceci permet de naviguer au travers de la toile des données qui se trouve créée entre les entités au sein du wiki en cliquant sur l'icône de navigation browsing icon dans le cas où les propriétés ont le type de donnée Page. Dans tous les autres cas, l'icône de recherche search icon apparaitra, qui pointe vers Special:SearchByProperty.

4.3 Requêtes intégrés

Dans une page wiki, on peut directement imbriquer une requête en utilisant la fonction "#ask" comme dans les exemple suivants.

1. Requête très simple:

{{#ask:[[est utile pour::scénario pédagogique]]
|format=table
|mainlabel=Title
}}

donne:

Nom de la page
Bpmn 2.0
Démo Semantic MediaWiki

2. Requête simple qui ajoute la contrainte d'une catégorie:

{{#ask:[[catégorie:Langages de modélisation pédagogique]] [[est utile pour::scénario pédagogique]]
|format=table
|mainlabel=Title
}}

donne:

Nom de la page
Bpmn 2.0

3. Requête qui affiche plusieurs propriétés:

{{#ask:[[est utile pour::+]]
|? est utile pour
|format=table
|mainlabel=Title
}}

donne:

Nom de la pageEst utile pourA fonction
Bpmn 2.0Scénario pédagogique
Démo Semantic MediaWikiScénario pédagogique

5 Installation, extensions et dépendances

L'installation et la configuration de Semantic MediaWiki et extensions est relativement simple si tout marche. Il peut avoir des incompatibilités entre certaines combinaisons de modules. Nous avons choisi de travailler avec les version alpha pour tout (y compris le wiki), selon la logique que les développeurs ont l'air de s'aligner plus facilement sur le dernier code. Sinon, on conseille de commencer par la dernière version stable et de lire attentivement les instructions pour chaque module, c-a-d vérifier les versions pour les dépendances.

Dépendances

Pour fonctionner, en sept. 2013, la dernière version de SemanticMediaWiki nécessite l'installation préalable de:

Quelques extensions

  • Extension:Semantic Forms permet aux utilisateurs d’ajouter, d'éditer et d'interroger des données structurées avec des formulaires.
  • Semantic Drilldown permet un forage un peu plus simple qu'avec les pages spéciales introduites ci-desus.

6 Semantic Forms

Les Semantic Forms ou formulaires sémantiques permettent aux contributeurs d'ajouter et de modifier des données structurées en utilisant des formulaires au lieu d'entrer directement des propriétés dans le texte.

Un formulaire repose sur plusieurs éléments:

  • Une page de définition de formulaire qui définit les champs ainsi que leur aspect visuel (champs de texte, boutons radio, etc.). On peut également prédéfinir des valeurs autorisés. Toutefois, il est conseillé de faire cela au niveau de la définition des propriétés.
  • Au moins un modèle (Angl. template) qui sera utilisé (1) pour afficher les données du formulaire et (2) pour associer un champs du formulaire à un attribut sémantique.
  • Des attributs (Angl. properties)
  • Une catégorie qui sera associé avec le formulaire
Semantic Form principles (Version 1.2 of the diagram)

6.1 Création de formulaire avec l'utilitaire special:CreateClass

  • special:CreateClass (uniquement accessible aux administrateurs afin d'éviter trop de "pollution" sémantique ....)

Cette page permet de créer toutes les composants. Toutefois, pour obtenir un résultat satisfaisant il faut re-éditer à la main le formulaire, le modèle et les propriétés.

6.2 Les modèles MediaWiki

Les modèles MediaWiki permettent d'inclure des textes et/ou des présentations standards dans plusieurs pages. Notamment grâce à l'extension ParserFunctions, il s'agit d'un véritable petit langage de programmation qui permet par exemple de faire du traitement conditionnel. D'un point de vue de l'utilisateur il existe trois types de modèles: (a) sans paramètres, (b) une liste fixe de paramètres, des paramètres nommés. Toutes les petites boites d'information dans Wikipedia sont faits avec des modèles, mais ils ne sont pas sémantiques. Semantic Forms utilise les modèles de façon standarde, mais ajoute des fonctions au langage wiki.

Exemple d'un modèle utilisé dans la page Béhaviorisme

{{tutoriel
|fait_partie_du_cours=Bases psychopédagogiques des technologies éducatives
|fait_partie_du_module=Introduction aux théories psychologiques
|page_parente=Introduction aux théories psychologiques
|page_suivante=Psychologie sociale
|statut=à finaliser
|difficulté=débutant
}}

Ce contenu peut être modifié en éditant directement le code source, mais beaucoup plus facilement en utilisant le formulaire.

N'importe quel utilisateur peut définir un modèle, un formulaire et les autres éléments associés, par contre il faut une certaine expertise technique. Le modèle utilisé ci-dessus est assez compliqué, si vous voulez voir.

6.3 Les formulaires

Les formulaires sont aussi des modèles, mais ils sont définis dans un autre espaces nommage, c.a.d. form: ou formulaire:. En gros, on associe au moins un modèle (template) au formulaire et on définit chaque champ du formulaire, et finalement l'affichage pour l'édition.

Voici un extrait du code du formulaire:tutoriel

<noinclude>
Formulaire pour créer des boites de navigation dans des tutoriels faisant part d'un ensemble
{{#forminput:form=tutoriel}}

</noinclude><includeonly>
<div id="wikiPreview" style="display: none; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #AAAAAA;"></div>
{{{for template|tutoriel}}}
{| class="formtable"
! Fait partie du cours:
| {{{field|fait_partie_du_cours}}}
|-
| Fait partie du module:
|  {{{field|fait_partie_du_module}}}
|-
! Page précédente:
| {{{field|page_precedente}}}
.....
|-
! Statut:
| {{{field|statut|input type=radiobutton|values=brouillon, à améliorer, à finaliser, finalisé}}}
........
|}

{{{end template}}}

'''Free text:'''
{{{standard input|free text|rows=10}}}
{{{standard input|summary}}}

7 Liens

Notre propre documentation technique se trouve dans EduTechWiki Anglais (suivre les liens vers la documentation officielle)