Fichiers RDF

Vous pouvez utiliser un fichier RDF (.rdf) en tant que source.

Cette plateforme crée des enregistrements à partir d'une structure RDF arbitraire en convertissant tous les éléments à une profondeur spécifique (éventuellement filtrés par tag) en un ensemble d'enregistrements. Pour chaque élément converti en enregistrement, les attributs, les tags encadrés et le contenu sont convertis en champs. Les données complexes présentes dans les champs sont converties en une représentation JSON regroupant les attributs et le contenu.

Création

Pour plus d'informations sur l'ajout d'une source de fichier, consultez Récupérer un fichier.

Configuration

Paramètres XML

Nom

Description

Utilisation

Tags parents

Nombre de parents desquels récupérer les attributs

Si les tags encadrants contiennent des attributs pertinents, utilisez cette option pour les ajouter aux enregistrements.

Indiquez le nombre de tags parents auprès desquels obtenir des attributs (par exemple, 2).

Noms des tags à extraire

Si des tags non pertinents se trouvent à la même profondeur que les éléments extraits, utilisez cette option pour filtrer uniquement les tags pertinents.

Indiquez le tag à extraire (par exemple, item) dans le champ Noms des tags à extraire. Si vous laissez le champ vide, tous les tags à la profondeur spécifiée seront convertis en enregistrements.

Profondeur de tag

Profondeur des tags devant être convertis en enregistrements

Indiquez la profondeur du tag répété dans le champ Profondeur de tag (par exemple, 3).

Extraire le nom de fichier

Nom

Description

Utilisation

Extraire le nom de fichier

Crée une colonne avec le nom du fichier source.

Par défaut, cette option est désactivée. Activez-la pour extraire le nom de fichier dans une colonne supplémentaire.

Spécifications techniques

Création du champ

La politique relative à la création de champs à partir d'un élément est définie dans les exemples suivants.

1
2
3
4
5
6
7
8
<rows>
  <data attribute="attribute value" other_attribute="other attribute value">
    <indicator>GDP per capita</indicator>
    <country>Andean Region</country>
    <decimal>0</decimal>
  </data>
  <data attribute="2nd data tag">Text only</data>
</rows>

attribut

autre_attribut

indicateur

pays

décimal

contenu

valeur d'attribut

autre valeur d'attribut

PIB par habitant

Région des Andes

0  

2e tag de données

       

Texte uniquement

Représentation JSON

Les données complexes à l'intérieur des champs sont converties en JSON comme illustré dans l'exemple suivant.

1
2
3
4
5
6
7
8
9
<mydocument has="an attribute">
  <and>
    <many>elements</many>
    <many>more elements</many>
  </and>
  <plus a="complex">
    element as well
  </plus>
</mydocument>
{
    "mydocument": {
        "@has": "an attribute",
        "and": {
            "many": [
                "elements",
                "more elements"
            ]
        },
        "plus": {
            "@a": "complex",
            "#text": "element as well"
        }
    }
}

Exemples

Exemple 1

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0" encoding="utf-8"?>
<wb:rows xmlns:wb="http://www.worldbank.org">
  <wb:data>
    <wb:indicator id="6.0.GDPpc">GDP per capita (2005 USD)</wb:indicator>
    <wb:country id="L5">Andean Region</wb:country>
    <wb:date>2012</wb:date>
    <wb:value>10561.668936515</wb:value>
    <wb:decimal>0</wb:decimal>
  </wb:data>
  <wb:data>
    <wb:indicator id="6.0.GDPpc">GDP per capita (2005 USD)</wb:indicator>
    <wb:country id="L5">Andean Region</wb:country>
    <wb:date>2011</wb:date>
    <wb:value>10215.3319157514</wb:value>
    <wb:decimal>0</wb:decimal>
  </wb:data>
  <wb:data>
    <wb:indicator id="6.0.GDPpc">GDP per capita (2005 USD)</wb:indicator>
    <wb:country id="L5">Andean Region</wb:country>
    <wb:date>2010</wb:date>
    <wb:value>9711.85739310366</wb:value>
    <wb:decimal>0</wb:decimal>
  </wb:data>
</wb:rows>

Dans cet exemple :

  • Le champ Profondeur de tag est défini sur 2 car wb:data est au deuxième niveau de l'arborescence XML (wb:rows/wb:data).

  • Vous n'avez pas besoin de filtrer les tags, car tous les éléments à cette profondeur sont des enregistrements.

Le jeu de données résultant ressemble à ce qui suit :

wb:indicateur

wb:pays

wb:date

wb:valeur

wb:décimal

{"#texte": "PIB par habitant (en USD en 2005)", "@id": "6.0.GDPpc"}

{"#texte": "Région des Andes", "@id": "L5"}

2005 8154.72913271721 0

{"#texte": "PIB par habitant (en USD en 2005)", "@id": "6.0.GDPpc"}

{"#texte": "Bolivie", "@id": "BO"}

2009 5152.46337890625 0

{"#texte": "PIB par habitant (en USD en 2005)", "@id": "6.0.GDPpc"}

{"#texte": "Bolivie", "@id": "BO"}

2006 4715.9892578125 0

Exemple 2

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="UTF-8"?>
<shoppingList>
    <id>abcdef123</id>
    <description>A shopping list</description>
    <basket>
        <itemCount>3</itemCount>
        <totalQuantity>19</totalQuantity>
        <item>
            <name>tomato</name>
            <quantity>10</quantity>
        </item>
        <item>
            <name>potato</name>
            <quantity>5</quantity>
        </item>
        <item>
            <name>banana</name>
            <quantity>4</quantity>
        </item>
    </basket>
</shoppingList>

Dans cet exemple, l'arborescence XML est complexe. Par conséquent, la détection automatique des paramètres ne peut pas déterminer la profondeur correcte. Vous devez configurer la source manuellement :

  • Le champ Profondeur de tag doit être défini sur 3 car le nœud item est au troisième niveau de l'arborescence XML (shoppingList/basket/item).

  • Le champ Noms des tags à extraire doit être défini sur item, car itemCount et totalQuantity sont également au troisième niveau mais ne sont pas pertinents.

Le jeu de données résultant ressemble à ce qui suit :

name

quantité

pomme de terre

5

banane

4

tomate

10