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¶
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, |
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, |
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, |
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
carwb: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œuditem
est au troisième niveau de l'arborescence XML (shoppingList/basket/item
).Le champ Noms des tags à extraire doit être défini sur
item
, caritemCount
ettotalQuantity
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 |