Wikibase/Indexing/RDF Dump Format/fr

Cette page décrit le format RDF dump et le format d'exportation RDF généré par Wikidata et utilisé dans un but d'extraction et d'indexation. Veuillez noter que bien que proche du format utilisé par, ce n'est ni le même code ni le même format. Même si nous nous efforçons de minimiser les divergences, il peut rester des différences et on ne devrait utiliser que la documentation du format effectivement utilisé.

Ce document décrit le vidage RDF qui peut être téléchargé depuis la source de vidage Wikimedia, et bien qu'on puisse l'utiliser pour créer des requêtes pour le service de requête de Wikidata, le service peut avoir des petites différences quant à la représentation des données. Consultez le chapitre des différences de données WQDS pour la liste complète.

L'URI canonique de l'ontologie RDF de la Wikibase est http://wikiba.se/ontology. La version actuelle se trouve à http://wikiba.se/ontology-1.0.owl.

Les changements de représentation RDF sont assujettis à la Politique d'interface stable.

Modèle de données
Le format RDF est en correspondance avec le modèle de données de Wikibase et en représente un format d'exportation. Cela signifie, en particulier, que quand le modèle de données change, son format d'exportation s'adaptera en conséquence. Ce document reflétera de tels changements. La description suivante présuppose une certaine familiarité avec le modèle de données et la terminologie employée.

Cette correspondance RDF repose sur celle conçue pour la Boîte à outils Wikidata de Denny Vrandecic et Markus Krötzsch disponible ici : http://korrekt.org/papers/Wikidata-RDF-export-2014.pdf.

La description ci-dessous se sert de préfixes pour décrire les IRI des ressources RDF mentionnées. Allez à la section Préfixes pour une description complète. Tous les exemples ci-dessous sont exprimés en syntaxe Turtle.

Versions
La version du modèle de données est spécifiée par le prédicat  du nœud , qui est soit un nœud de vidage pour du vidage, soit un nœud de données d'entité  pour une page d'entité individuelle. Versions diffusées :

Entête
For the RDF dump, there is the header node  containing information about the license, the software version of the generator and the date the data was produced. En cas d'exportation d'entité individuelle, ces données sont associées au nœud d'entité (voir ci-dessous).

Exemple d'entête :


 * - précise l'IRI de la licence qui s'applique à tout le document RDF.
 * - specifies which version of the dump format is being used (currently ), will be updated when format changes, once the format is out of the beta period. The version updates will be done along the lines of semantic versioning, with major changes being BC breaking ones, minor being major BC-compatible changes and patch part changes on minor tweaks.
 * - indique la date de validité des données du vidage. Certaines données contenues dans un vidage peuvent être plus récentes que cette date, mais on est assuré qu'il n'y a aucune donnée dans ce vidage plus ancienne que cette date. La date devrait être proche de celle de la plus ancienne donnée contenue dans le vidage, mais pour des raisons techniques elle peut être légèrement différente de celle-ci.

Représentation d'une entité
L'entité est décrite par deux nœuds - le nœud de données et le nœud d'entité. For entity Q1, data node is  and entity node is.

Le nœud de données expose les métadonnées de l'enregistrement de l'entité dans Wikibase - c'est à dire les données qui ne font pas partie des informations de l'entité elle-même mais qui décrivent l'état de l'entité dans la Wikibase. It has type of  and contains the following metadata:


 * Information about the entity revision - this is a counter that increases with each modification of the entity data
 * Last modification time of the entity data - as an    timestamp
 * Link to the entity node with  predicate

Exemple :

Entity node describes the actual entity data and has type  or   depending on the kind of entity. D'autres types d'entités pourront être introduits dans le futur.

La description d'une entité comporte les éléments suivants :


 * Entity labels - the main name of the entity. Labels are defined as,   and   predicates with objects being language-tagged string literals.
 * Entity aliases - the secondary names of the entity. Aliases are defined as  predicates with objects being language-tagged string literals.
 * Entity description - the longer description of the entity. Defined as  predicates with objects being language-tagged string literals.
 * Truthy statements (see below)
 * Predicates linking it to full statements

Exemple d'une définition d'entité :

Propriétés de Page
Un nœud d'entité peut aussi avoir des informations supplémentaires concernant l'entité, telles que le nombre de liens ou de déclarations.

The data is sourced from page properties and can be specified in config file. Par exemple :

specifies how many statements this entity has,  specifiers the number of statements with External Id values, and   specifies the number of sitelinks. Des déclarations supplémentaires pourront être introduites dans le futur.

Items
Entities that represent items have the common entity data as described above, plus can have sitelinks attached to them, as described below.

Propriétés
Entities that represent properties additionally feature the property type using  predicate. The object of the predicate is the property type described in Value representation below, with  prefix and each word capitalized, with no separators. I.e.,  becomes.

Each property is also linked to the predicates that are derived from it. Exemple :

Les prédicats des propriétés ont aussi des définitions de type :

The type depends on the type of the original property - whether its value is literal or IRI. However,,   ,   and   predicates would always be.

Note that wdno:P22 mentioned above is not a predicate, unlike others, but a class. See the full description of it in Novalue section.

Lexèmes
Please see full description at Lexeme RDF mapping.

Lexemes are represented according to Lexeme RDF mapping. Exemple :

MediaInfo (beta)
Please see full description at MediaInfo RDF mapping.

MediaInfo entities are represented according to MediaInfo RDF mapping. Exemple :

Cet exemple montre les données MediaInfo sur Wikimedia Commons lorsqu'elles sont fédérées avec Wikidata.

Types de déclaration
Le format RDF représente les déclarations sous deux formes - quasi-vérités et déclarations exhaustives.

Quasi-vérités
Les quasi-vérités sont des déclarations qui ont le rang non-obsolète le plus élevé pour une propriété donnée. Namely, if there is a preferred statement for property P2, then only preferred statements for P2 will be considered truthy. Otherwise, all normal-rank statements for P2 are considered truthy.

Truthy statement predicates have prefix  with the property name (e.g.  ) and the object is the simple value (see below) for the statement. Les qualificatifs sont ignorés.

If the value has simple value normalization (currently true only for external ID), normalized value is listed under  prefix, e.g..

Déclarations exhaustives
Les déclarations exhaustives représentent toutes les données sur la déclaration dans le système. Full statement is represented as separate node, with prefix  with the id of the statement (e.g.  ). Il n'y a aucun format garanti ou signification quant à l'identifiant de la déclaration.

The statements are linked to the entity with the predicate with prefix  and the name of the property (e.g.  ).

Représentation d'une déclaration
Le nœud de déclaration représente une déclaration individuelle à propos d'une entité. It has type. La déclaration peut contenir le rang, la valeur simple (voir ci-dessous) de la déclaration, le lien vers la valeur complète, les qualificatifs et les références.

The statement rank is represented by the predicate  and the object being one of: ,  ,.

The statement that has the best rank for the property (i.e., preferred if there are any preferred statements in the property, otherwise normal) is also has type of.

The simple value is represented by the predicate with prefix  and the name of the property (e.g.  ) and the object being the simple value.

The full value (if required by the type) is represented by the predicate with prefix  (e.g.  ) and the object being the full value node.

La déclaration a toujours une valeur au plus, mais peut contenir plusieurs qualificatifs et références.

Qualificatifs
The qualifiers are represented by predicates with prefix  and the name of the property (e.g.  ) and the object being the simple value of the qualifier.

The full value (if required by the type) is represented by the predicate with prefix  (e.g.  ) and the object being the full value node.

Références
References are represented by the predicate  with the object being the reference node (see below).

Exemple de déclaration :

Contraintes
The service also may contain data for Wikibase Quality Constraints violations, via  predicate. Le prédicat associe la déclaration transgressant une contrainte à la déclaration décrivant cette dernière, par ex. :

Note that constraint violations are loaded from constraint cache and are not guaranteed to be up-to-date or present for all items (which means if you find no constraint violation statements for an item, that doesn't mean it doesn't have any - check Wikibase Quality tools for more up-to-date information).

Représentation d'une référence
Les références représentent les informations de provenance des déclarations données.

Reference is represented as node, with prefix  and the local name being the hash derived from the reference contents (e.g.  ). La valeur précise du hachage n'est pas garantie au-delà du fait que des mêmes références (c.-à-d. avec un contenu identique) généreront un même hachage, et que d'autres références en généreront une autre. La même référence (c.-à-d. une référence possédant les mêmes propriétés avec les mêmes valeurs) sera en général représentée par un nœud unique, même si des nœuds de référence doublons peuvent exister dans les données.

The type of the node is a.

The reference values are represented the same as statement values, with simple values using predicates with  prefix (e.g.  ) and full values with prefix   (e.g.  ) and the object being the full value node. Contrairement aux déclarations, les références peuvent posséder n'importe quel nombre de valeurs.

Exemple de nœud de référence :

Représentation d'une valeur
Dans le format RDF, les valeurs sont représentées sous deux formes - valeur simple et valeur complète. La valeur simple est toujours un littéral ou un IRI, et sert de valeur directe, ce qui convient aux processus de recherche, d'indexation ou de comparaison. La valeur complète contient des informations supplémentaires sur la valeur, telles que les intervalles, la précision, le calendrier utilisé, etc. Il est à noter que bien que les valeurs simples soient suffisantes pour bon nombre de requêtes, pour d'autres valeurs plus complexes, seules les valeurs complètes répondront au besoin.

If the statement has a value (i.e. is not set to novalue) then the simple value will always be present.

Full values are represented as nodes having prefix  and the local name being the hash of the value contents (e.g.  ). Il n'y a aucune garantie de valeur d'un hachage hormis le fait que différentes valeurs produiront différents hachages, et qu'une même valeur mentionnée en plusieurs endroits générera le même hachage. Value node has type. Le contenu du nœud est défini par le type de la valeur (voir ci-dessous).

Exemple de nœud de valeur :

La suite décrit la manipulation de chaque sorte de valeur, en fonction du type de la valeur et du type de la propriété. Veuillez noter que tous les aspects du modèle de données ne sont actuellement pas représentés en RDF, certains aspects pour le moment inusités (tels que les unités ou encore les paires avant/après des dates) sont simplement omis car ils n'apportent aucune information utile. Cela pourra évoluer à l'avenir quand ces aspects commenceront à être exploités par Wikidata.

Chaîne
Strings have value type  and property type.

String is represented as a string literal. Strings only have simple value.

Médias de Commons
Media on have value type   and property type.

Un média de Commons est représenté par un IRI avec l'URL complète de la ressource Commons, dérivée du nom de fichier Commons de la donnée sous-jacente. E.g.:. Il n'a qu'une valeur simple.

URL
URL values have value type  and property type.

URL is represented as a an IRI matching the URL string (e.g. . Il n'a qu'une valeur simple.

Identifiants externes
External Id values have value type  and property type. Ils sont représentés par une chaîne de caractères littérale. Il n'a qu'une valeur simple.

Si la propriété possède un formateur configuré d'URL pour RDF, le RDF aura aussi une valeur normalisée, par ex. :

Identifiants d'entité Wikibase
Wikibase Entity Id values have value type  and property type.

The entity is represented by its IRI, e.g.. Il n'a qu'une valeur simple.

Teste monolingue
Monolingual text values have value type  and property type.

Le texte est représenté par une chaîne de caractères littérale avec un label de langue. Il n'a qu'une valeur simple.

Coordonnées géographiques
Coordinate text values have value type  and property type.

The simple value of the coordinate is the WKT string with the coordinates, with type, e.g.:. The order of the coordinates in WKT is longitude, latitude (since format version 0.0.2).

La valeur complète a les latitude, longitude, et précision en double littéraux, et le globe en IRI.

Exemple :

Quantité
Quantity values have value type  and property type.

La valeur simple de la quantité est le nombre spécifié, en littéral décimal.

The full value includes amount, unit URI (the default for unit-less values being http://www.wikidata.org/entity/Q199), and optionally upper and lower bound. Si aucune limite haute ou basse n'est fournie, l'incertitude de la quantité est indéfinie. Les valeurs exactes sont représentées par des quantités qui ont la même valeur pour le nombre et les limites haute et basse.

Exemple :

Temps
Time values have value type  and property type.

The simple value of the time value is either datetime value of type, if the value can be converted to Gregorian date in ISO format, or a string as represented in the database, if not. The  dates follow XSD 1.1 standard, which uses the proleptic Gregorian calendar, and represents the year 1 BCE as +0000. This is in contrast the JSON representation of Julian and Gregorian dates, which follows the traditional year numbering, representing the year 1 BCE as -0001.

The full value includes the simple value above under, precision and timezone as integers and calendar model as IRI. Note that the calendar model is the original values calendar model even if  was converted to Gregorian.

Exemple :

Valeurs normalisées
Certaines valeurs peuvent se représenter sous plusieurs formes, en fonction de l'usage. Par exemple, la longueur peut s'exprimer en différentes unités - pieds, pouces, mètres, miles, etc. Afin de fournir un moyen d'unifier ces formes et ainsi de faciliter l'accès à la donnée par des processus automatisés, les valeurs normalisées ont été introduites, pour représenter des données diverses d'une manière unifiée.

À l'heure actuelle, la seule normalisation de valeur supportée est la conversion des unités de quantités vers leur unité de base - ex. longueur en mètres. À l'avenir, davantage d'unités et de normalisations pourront être ajoutées, ce qui sera documenté ici. The conversion table is available on the Mediawiki gerrit if needed.

Les seules valeurs simples normalisées sont les identifiants externes (voir ci-dessous).

Quantité normalisée
Les valeurs de quantité normalisées sont des nœuds de valeur, parallèles au nœuds de données originaux mais représentés dans les unités de base. They are connected to their parent nodes by predicates with prefix having "v" replaced with "n" - i.e.,   and  , for example:

Original quantity value is connected to the normalized value by  predicate:

The normalized value has  pointing to itself.

If the value is already normalized - i.e. is expressed in base units - then both "v" and "n" predicates point to the same value, and  for this value points to itself.

Quantities with no units or with units that are not normalizable (have no base unit they can be reduced to) do not have normalized predicates and normalized values and do not include.

On recommande de ne pas avoir plus d'une unité de base par propriété. Les unités de base dépendent de la configuration de Wikibase et sont habituellement choisies pour représenter des unités standardisées universellement acceptées, telles que les unités du S.I.

Identifiant externe normalisé
For external IDs, normalization converts string value to URL, if the URL formatter for that purpose is defined in property data (via  setting), then the normalized value will be listed as   value for truthy values, and as normalized value for the statements in ,   and   predicates, depending on the context where the value appears.

Valeurs spéciales
Le modèle de données de Wikibase a deux type spéciaux de snaks - PropertySomeValueSnak qui indique une valeur existante mais dont l'identité ou la valeur est inconnue, et PropertyNoValueSnak qui indique qu'une valeur n'existe pas.

Somevalue
Une valeur inconnue est représentée par un nœud RDF blanc pour les deux déclarations, simplifiée et complète :

Novalue
Novalue is represented not by a regular value but as a class of the entity or statement or reference, with prefix  and the name of the property. Exemple :

The entity has a  class if it has a truthy novalue statement for that property. Novalue in the main snak or qualifiers of a statement corresponds to a  class on the statement node, and novalue in a reference snak corresponds to a   class on the reference node.

The classes for  are defined as follows:

Liens de sites
Les liens sont représentés par un ensemble de prédicats décrivant le lien URL. The type of the node is  and it linked with the entity via   predicate.

Badges are described with  predicates. predicate holds the plain-text name of the article, in the language of the linked wiki.

Exemple :

L'URL du sujet est composée du préfixe de langue du site, et du nom de l'article, encodé en URL selon la, par ex. :

En particulier, l'encodage utilisé fonctionne comme suit :


 * 1) Normalisation du titre en remplaçant les espaces par des sous-tirets.
 * 2) Application de la fonction wfUrlencode, qui encode avec des %  tous les caractères non-alphanumériques sauf " ".

Redirections
Redirected entities are implemented as  predicates, for example if Q6 redirects to Q1, the dump would be:

Préfixes utilisés
Les préfixes sont utilisés dans les formats RDF pour permettre les préfixes courts (comme Turtle et RDF). Pour les autres formats, l'URL complète est utilisée.

Toutes les URL préfixées qui ne contiennent pas de nom d'hôte sont préfixées par le nom d'hôte du wiki les ayant générées. Toutes les URL préfixées qui contiennent un nom d'hôte sont fixes et ne dépendent pas du wiki les ayant générées.

Standard prefixes used:

Liste complète des préfixes
Cette liste peut servir aux requêtes SPARQL :

Ontologie
Voici la liste compilée de tous les objets et des prédicats internes au format. Pour la signification des préfixes, allez à la liste des préfixes.

Prédicats
Les noms en italique signifient que tout nom de propriété peut remplacer le nom de l'exemple P123.

Les prédicats suivants sont utilisés en valeur en profondeur pour les valeurs de types spéciaux. All these predicates have the domain of  and the range depending on type below.

Différences avec les données WQDS
The Wikidata query service has the data in the format described above, but there are small differences that can be important while writing SPARQL queries: See also SPARQL query examples for how to query the data using WDQS service.
 * 1) Types (  or  ) for ,  ,   ,  ,  ,   are currently omitted for performance reasons.
 * 2) Data nodes  are not stored, all the information like version, revision and page props is stored in the entity node  instead. This is done for performance reasons.
 * 3) For labels, only   is stored but not   or  . Since they all have the same data, storing all three is redundant.
 * 4) Redirects are recorded but currently have no additional semantics implemented.