Fichiers RDF

Modifié

Vous pouvez utiliser un fichier RDF (.rdf) comme source.

Cette plate-forme 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 contenant à la fois des attributs et du contenu.

Création

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

Configuration

Nom

Description

Utilisation

Tags parents

Nombre de parents dont les attributs doivent être récupérés

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

Entrez le nombre de tags parents à partir desquels obtenir les attributs (par exemple, 2 ).

Nom des tags à extraire

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

Entrez le tag à extraire (par exemple, item ) dans la champ Nom 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 qui doivent être convertis en enregistrements

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

Nom

Description

Utilisation

Extraire le nom du fichier

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

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

Spécifications techniques

Création de 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

2ème 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 se trouve 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 à ceci :

wb : indicateur

wb:pays

wb:date

wb:valeur

wb : décimal

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

{"#text": "Région andine", "@id": "L5"}

2005

8154.72913271721

0

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

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

2009

5152.46337890625

0

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

{"#text": "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 bonne profondeur. Vous devez configurer la source manuellement :

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

  • Le nom 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 à ceci :

Nom

quantité

pomme de terre

5

banane

4

tomate

10