Aide:Données sémantiques

De Poképédia
Aller à : navigation, rechercher

Cette page d'aide a été rédigée de manière à contenir le plus petit nombre de liens bleus possible, afin de faciliter sa lecture.


Très avancé
Méga-Lucario-XY.png
Données sémantiques
Pages spéciales d'action
CSS
JavaScript
API

Les données sémantiques sont des informations définies sur une page et pouvant être demandées depuis n'importe quelle autre page, permettant ainsi de ne pas avoir à recopier et, au besoin, modifier une des ces informations sur ces autres pages. Ces mêmes données peuvent aussi être utilisées pour créer automatiquement des tableaux, ou tout simplement chercher une information.

Exemples d'utilisation

Ces données sont par exemple utilisées pour la totalité des tableaux d'apprentissage des Pokémon. Ainsi, les informations sur chaque capacité (type, catégorie, puissance, précision, PP) sont affichées sans pour autant être définies dans le code de ces pages.

Définir une donnée

Première méthode

[[Attribut::Valeur]]

Par exemple, pour définir la valeur « Diamant & Perle » pour l'attribut « Extension » : [[Extension::Diamant & Perle]].

À noter que, en utilisant cette méthode, la valeur apparaîtra sur la page. Ainsi, pour l'exemple, il y aura marqué « Diamant & Perle ». Une solution pour empêcher cela est de taper un code de la forme [[Attribut::Valeur| ]], soit, toujours pour le même exemple : [[Extension::Diamant & Perle| ]].

Deuxième méthode

{{#set:Attribut=Valeur}}

Reprenons l'exemple précédemment utilisé. Ici, cela donnera donc {{#set:Extension=Diamant & Perle}}.

Récupérer une donnée

Avec #show

La fonction #show sert à faire à faire une recherche concernant une seule page : {{#show: Page | ?Attribut }}.

Imaginons maintenant qu'on souhaite avoir l'extension de la carte Tortipouss (Diamant & Perle 103), il faudra alors taper {{#show: Tortipouss (Diamant & Perle 103) | ?Extension }}, ce qui donne : Diamant & Perle.

Il faut savoir qu'il est tout à faire possible de demander des informations pour plusieurs attributs en même temps, comme ceci : {{#show: Page | ?Attribut1 | ?Attribut2 | ... | ?AttributN }}.

Dans ce cas, les données seront affichées dans un tableau. Ainsi, {{#show: Tortipouss (Diamant & Perle 103) | ?Pokémon représenté | ?Extension | ?Numéro de carte }} donne :

   
TortipoussDiamant & Perle103

Avec #ask

La fonction #ask permet de faire des recherches plus avancées. Il est notamment possible de chercher sur toute une catégorie ou selon un attribut. Le code à utiliser est de la même forme : {{#ask: Page/Catégorie/Attribut | ?Attribut1 | ?Attribut2 | ... | ?AttributN }}.

Il faut savoir qu'avec cette fonction, et au contraire de #show, des crochets doivent être mis autour du nom de la page/catégorie/attribut. Pour chercher la taille de Bulbizarre, il faut donc taper {{#ask: [[Bulbizarre]] | ?Taille }}, qui donnera :

 Taille
Bulbizarre0,7

On remarque aussi qu'avec cette fonction, une colonne apparaît sur la gauche indiquant le nom de la page. Il est possible de lui donner un nom en utilisant le paramètre « mainlabel ». {{#ask: [[Bulbizarre]] | ?Taille | mainlabel = Nom }} renvoie :

NomTaille
Bulbizarre0,7

Ou même la supprimer, en ajoutant mainlabel = -. De plus, comme pour #show, il est possible de demander plusieurs attributs à la fois. En combinant ces deux informations, on devine ce que va renvoyer {{#ask: [[Bulbizarre]] | ?Taille | ?Poids | mainlabel = - }}. Si vous voulez en être sûr, voici le résultat :

TaillePoids
0,76,9

Mettre des conditions

Requête simple

On peut ainsi imaginer faire une requête sur toutes les pages d'une catégorie en tapant {{#ask: [[Catégorie:XXX]] | ?Attribut }}. Bien évidemment, si une catégorie comporte des centaines voire des milliers de pages, il n'affichera pas tous les résultats d'un coup. Par défaut, il y en aura 50, mais il possible de changer de nombre avec le paramètre limit. Par exemple, {{#ask: [[Catégorie:Pokémon]] | ?Taille | limit = 10 }} affichera :

 Taille
'M
. ëê8ô y'ô
3Dres.Poké
4 4
4. .
44Hy
7g
Abo2
Abo/Génération 1
Abo/Génération 2
… autres résultats

Chercher les pages où la donnée est définie

On remarquera que tous les pages de la catégorie « Pokémon » apparaissent, même celles n'ayant aucune valeur définie pour l'attribut « Taille ». Pour remédier à ce problème, il faut utiliser la syntaxe suivante : {{#ask: [[Catégorie:Pokémon]] [[Taille::+]] | ?Taille | limit = 10 }}. En effet, la fonction #ask permet de définir plusieurs conditions. Le tableau suivant s'affichera alors sur la page :

 Taille
Abo2
Abra0,9
Absol1,2
Aéromite1,5
Aflamanoir1,4
Airmure1,7
Akwakwak1,7
Alakazam1,5
Aligatueur2,3
Altaria1,1
… autres résultats

Chercher les pages où la donnée a une valeur précise

Il est également possible de demander seulement les pages ayant une certaine valeur dans un attribut donné. Pour reprendre un exemple similaire au précédent, {{#ask: [[Catégorie:Pokémon]] [[Taille::1,9]] | ?Taille }} donnera tous les Pokémon qui font 1,9 m de haut. Le résultat sera le suivant :

 Taille
Arcanin1,9
Braségali1,9
Camérupt1,9
Carchacrok1,9
Haydaim1,9
Miasmax1,9
Méga-Braségali1,9
Méga-Carchacrok1,9
Méga-Jungko1,9
Méga-Laggron1,9
Raikou1,9
Registeel1,9
Rhinoféros1,9
Terrakium1,9
Tokotoro1,9
Type:01,9
Yanmega1,9

Comparateurs

S'il est possible de demander une valeur précise, il est aussi possible de comparer les valeurs, pour par exemple trouver tous les Pokémon qui font plus de 5m. Les principaux comparateurs sont :

  • >> et << pour « strictement supérieur à » et « strictement inférieur à » ;
  • et pour « supérieur ou égal à » et « inférieur ou égal à » ;
  • ! pour « différent de ».

Ainsi, pour trouver toutes les capacités qui font entre 30 (inclus) et 40 (exclu) dégâts, il faut taper {{#ask: [[Catégorie:Capacité]] [[Puissance::≥30]] [[Puissance::<<40]] | ?Puissance | sort = Puissance }}, avec comme résultat :

 Puissance
Léchouille30
Roulade30
Ruse30
Double-Pied30
Ball'Glace30
Purédpois30
Étonnement30
Aéro-Lames35
Siphon35
Coup Double35
Danse Flamme35
Tourbi-Sable35
Picpic35
Claquoir35

Le paramètre « sort » sera expliqué plus tard sur la page.

Tester l'appartenance à une catégorie

Lunet. Sages.png Cette section est vide, pas assez détaillée ou incomplète. Vous pouvez la modifier pour l'améliorer.
 PokémonCapacité
PikachuX 

Formater les résultats

Nous avons déjà vu qu'il est possible d'appliquer un paramètre limit pour choisir le nombre maximal de résultats. Il faut savoir que bien d'autres existent, dont ceux présentés ci-dessous.

format

Liste des formats les plus utilisés sur le wiki :

  • « table » est le format par défaut, et range les valeurs dans un tableau où chaque colonne correspond à un attribut et chaque ligne à une page ;
  • « list » renvoie les différents résultats séparés par des virgules, avec des indications entre parenthèses si nécessaire ;
  • « ul » correspond à une liste à puces ;
  • « ol » correspond à une liste numérotée ;
  • « count » renvoie simplement le nombre de résultats ;
  • « template » est utilisée pour créer un format personnalisé. Dans ce cas, un second paramètre « template » doit être renseigné pour indiquer le nom du modèle à utiliser. Par exemple, pour template=Mise en forme Capacité, le modèle « Mise en forme Capacité » sera utilisé.

sort

« sort » sert à trier les résultats suivant un attribut. Ainsi, sort=Numéro National sert à trier selon le numéro national du Pokémon.

order

Pour préciser dans quel ordre doit trier « sort », il faut utiliser « order ». Trois valeurs sont possibles : « ascending » (du plus petit au plus grand / par ordre alphabétique), « descending » (du plus grand au plus petit / à l'inverse de l'ordre alphabétique) et « random » (au hasard). Par défaut, c'est « ascending » qui est utilisé.

default

Sert à définir un texte s'affichant sur la page si aucun résultat n'est trouvé.

Pour aller plus loin

Lunet. Sages.png Cette section est vide, pas assez détaillée ou incomplète. Vous pouvez la modifier pour l'améliorer.