Help:Propriétés et types 1.4.3

Les propriétés et les types sont les méthodes de base pour ajouter des données sémantiques dans Semantic MediaWiki. Les propriétés peuvent être considérées comme des « catégories pour les valeurs » sur les pages d'un wiki » :
 *  Nom de la propriété::Valeur  

Cette commande définit une Valeur de la propriété d'un nom de propriété donné. La page sur laquelle elle se trouve n'affichera que le texte de la valeur et non l'assignation d'une propriété.

Les liens existants peuvent être immédiatement précisé par des informations sur les propriétés, alors que les autres types de données (tels que les chiffres ou les dates calendaires) nécessitent une étape supplémentaire.

Transformer des liens en propriétés
Prenons l'article de Wikipédia sur Berlin. Cet article contient beaucoup de liens vers d'autres articles, comme « Allemagne », « Union européenne » et « États Unis ». Cependant, le lien vers l'Allemagne a une signification spéciale : il a été mis là parce que Berlin est la capitale de l'Allemagne. Pour rendre cette connaissance accessible aux logiciels, on peut « baliser » le lien Allemagne dans le texte de l'article, en l'identifiant comme un lien qui décrit la propriété « capitale ». Avec Semantic MediaWiki, ceci se fait en ajoutant un nom de propriété et :: devant le lien à l'intérieur des crochets, ce qui donne : Capital of::Germany Dans l'article, ce texte demeurera affiché comme un simple lien vers « Allemagne ». Le texte ajouté Capital of est le nom de la propriété classant le lien vers Allemagne. Comme dans le cas des catégories, le texte de la propriété est arbitraire, mais les utilisateurs doivent essayer de réutiliser des propriétés qui existent déjà quelque part.

Afin de simplifier cette réutilisation, chaque propriété a son propre article sur le wiki, comme chaque catégorie a son article. Vous pouvez accéder à l'ensemble des articles sur une propriété grâce à la page Special:Property. À l'instar des catégories, qui sont précédées de Property:, chaque propriété est préfixée par Propriété: pour la distinguer des autres articles. Vous pouvez donc utiliser la page Special:Search de MediaWiki pour trouver les propriétés existantes. Comme pour les catégories, l'article d'une propriété peut être vide, mais il est fortement recommandé d'ajouter une description qui explique le sens de la propriété et son usage approprié.

Il y a plusieurs façons différentes d'ajouter des propriétés aux pages :

Transformer le texte de valeurs en propriétés
En dehors des liens, les articles contiennent d'autres informations importantes. Par exemple, dans l'article sur Berlin, il y a un chiffre indiquant sa population. Pour rendre cette connaissance accessible aux logiciels, on peut « baliser » le texte

3,396,990

dans l'article en l'identifiant comme une valeur de la « propriété population ». Avec Semantic MediaWiki, cela se fait en ajoutant le nom de la propriété et :: devant le texte et en entourant le tout de crochets , ce qui donne : Population::3,396,990.

Ceci marche parfaitement, mais crée un lien vers une page « 3,396,990 » et avoir des articles pour chaque valeur d'une population n'est pas très utile.

Mais si vous vouliez créer une liste de toutes les villes allemandes triées par population, l'ordre numérique est différent de l'ordre alphabétique que vous attendriez des noms d'article. Par exemple, dans l'ordre numérique, « 1.000.000 » est avant « 345 ».

Types de propriétés
Nous voulons pouvoir dire à Semantic MediaWiki que « population » est un nombre et non le lien vers une page du wiki. La manière de le faire est de spécifier un type pour la propriété « population ». Semantic MediaWiki a plusieurs types de données intégrés que nous pouvons choisir pour les propriétés. Dans notre exemple de population, le type approprié est nommé Number. Le prefixe « type: » constitue un autre espace de nom qui distingue des pages normales les articles descriptifs d'un type. Nous voulont donner à la propriété « population » une propriété spéciale qui spécifie qu'elle a le « type:number ». Pour ce faire, Semantic MediaWiki a une propriété spéciale intégrée nommée Property:Has type. Nous utilisons la même syntaxe pour cette propriété spéciale que celle pour toute autre propriété. En conséquence, dans l'article Property:Population, nous écrivons : Has type::number

(Il est inutile de spécifier l'espace de nom Type: ici.)

Semantic MediaWiki connaît plusieurs « propriétés spéciales » comme Property:has type. Peu importe si ces propriétés ont leur propre article sur le wiki, elles ont une signification spéciale intégrée et ne sont pas traitées comme les autres relations.

Types de données
Les types de données sont essentiels à l'évaluation des propriétés. D'abord, le type de données détermine comment les outils doivent traiter les valeurs données, par exemple pour afficher et trier des valeurs dans les résultats d'une recherche. Ensuite, le type de données est nécessaire pour comprendre quelles valeurs ont le même sens. Par exemple, les valeurs « 1532 », « 1,532 » et « 1,532e3 » correspondent toutes au même nombre. Enfin, certains types de données propose des fonctions spéciales, décrites ci-desous. Pour ces raisons, chaque attribut a un type de données.

La raison pour laquelle nous n'avons pas à spécifier de type de données pour la propriété « Capitale de » ci-dessus est que le type de données par défaut est Page, qui s'affiche comme un lien (Notez que si vous avez changé le type de données d'une propriété par la suite, cela ne change rien aux annotations des articles jusqu'à ce qu'ils soient réenregistrés ou purgés). Même si Type:Page est le choix par défaut, vous devriez spécifier explicitement un type de données pour chaque propriété, afin de pour prévenir la confusion ou redéfinition avec un type autre.

Le même balisage des propriétés qui sont des liens vers des pages marche également pour les propriétés d'autres types de données. En voici des exemples :

Types de données et unités de mesure
En utilisant différents types, les propriétés peuvent être utilises pour décrire des sortes de valeurs très différentes. Une liste complète est accessible sur Special:Types. Les types de base incluent : Ils peuvent être utilisés de manière créative pour des utilisations très différentes. Par exemple, les attributs de type string peuvent être utilisés pour représenter des numéros de téléphone, qui en fait peuvent contenir des symboles non numériques).
 * String (chaîne de caractères)
 * Number (nombres entiers et décimaux avec exposant optionnel) (prévu pour SMW 1.0, il remplace les type:integer et type:float des versions antérieurs)
 * Page (lien vers les page, choix par défaut)

Unités
Le type:number permet à une unité après la valeur numérique de distinguer les valeurs (par exemple « 30.3 mpg » ou « 47 km/litre »), mais ne sait pas comment les convertir entre elles. Afin de permettre une conversion automatique et des formats multiples, vous pouvez définir vos propres types de données avec des unités configurables. Celles-ci convertissent les valeurs vers et depuis les représentations standards, ce qui rend les utilisateurs libres d'utiliser leur unité préférée dans chaque article, de les les utiliser dans des requêtes et de les comparer avec les valeurs d'autres articles.

Types de données spéciaux
Plusieurs types de données spéciaux intégrés permettent des formats plus compliqués et conversions d'unité.


 * Help:Type boolean restreint la valeur d'un attribut à vrai/faux (c'est-à-dire &/0 et oui/no).
 * Help:Type Text (introduit par SMW 1.0) est similaire à Type:String mais peut avoir une taille illimitée.
 * Help:Type Temperature ne peut être défini par les utilisateurs parce que convertir des températures est plus compliqué que de multiplier par un facteur de conversion.
 * Help:Type Geographic coordinate décrit des localisations géographiques. Il reconnaît différentes formes de coordonnées géographiques. En utilisant service de lien il peut fournir dynamiquement des liens vers des services en ligne de cartographie.
 * Help:Type Date représente un point particulier dans le temps. Ce type est encore expérimental, mais fournira des conversions entre différents calendriers (historiques) dans le future.

Pour spécifier les URL et adresses électroniques, il y a certaines variations du type de données : Les valeurs de ces types d'URL apparaissent comme des liens.
 * Help:Type URL rend des liens externes à leur objet URL.
 * Help:Type Annotation URI : les propriétés de ce type est interprété comme des relations à des objets externes, indiqués par l'URI. Elles sont spéciales parce qu'elles sont interprétées à l'export comme propriétés annotation. Consultez la page de ce type pour la documentation.
 * Help:Type Email enregistre les adresses électroniques comme des chaînes de caractères, mais les lie automatiquement (avec mailto: ) à l'intérieur des pages.

Propriétés spéciales
Nous avons mentionné la propriété spéciale Property:Has type à utiliser pour dire à SMW le type de données d'une propriété. SMW a d'autres propriétés spéciales ayant une signification spéciale (même si vous ne leur créez pas de page de propriété sur votre wiki). Vous ne pouvez pas utiliser ces noms pour vos propres propriétés. Sur SMW 1.0, la liste des propriétés spéciales est : Allows value, Corresponds to,Display units, Equivalent URI, Has type, Imported from, Provides service, and Subproperty of.

En outre, Display unit est un alias de Display units.

Ces propriétés spéciales internes ne figurent pas dans la liste des Special:Properties, vous ne pouvez pas faire de requêtes avec et aucune page d'une propriété spéciale n'affiche les pages utilisant cette propriété.

Relations et attributs dans les versions précédentes
Dans les versions précédentes de SMW, les propriétés du type page étaient nommées relations et seules elles utilisaient des deux-points (::) comme séparateur entre nom d'une propriété et de texte de lien. Toutes les autres propriétés (nombres, chaînes, etc.) étaient nommés attributs et devaient utiliser deux-points égal (:=</tt>) comme séparateur.

SMW 1.0 unifie les relations et les attributs en les appelant propriétés et utilise un espace de nom unique. Le type de données des propriétés non déclarées est Page, mais il est fortement recommandé de déclarer chaque type de propriété pour expliciter leur usage aux autres rédacteurs. SMW traite encore :=</tt> mais il est recommandé d'utiliser ==</tt> pour toute annotation de propriété. La raison en est que le symbole d'égalité contenu ne peut être utilisé correctement dans les paramètres des modèles MediaWiki, alors que ::</tt> ne cause aucun problème dans la plupart des contextes.

Consultez Upgrading from SMW 0.7 to SMW 1.0 pour connaître les autres changements dans SMW 1.0 : si vous utilisez encore une ancienne version de SMW, voyez ow:Help:Annotation (SMW0.7) pour accéder à la documentation aux annotations de la versions 0.7.