Open cecilaki opened 4 years ago
11 858 espèces sont référencées sous Wikidata avec un ID Cites mais n'ont pas d'illustrations. (Pour rappel 20 349 des 38 619 ID Cites ont été identifiés comme non référencés sur Wikidata).
SELECT (COUNT(distinct ?idCITES) AS ?countidCITES)
WHERE
{
?item wdt:P105 wd:Q7432 ; wdt:P2040 ?idCITES.
FILTER NOT EXISTS{ ?item wdt:P18 ?image. } # without images
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" }
}
ORDER BY ASC (?idCITES)
Le fichier IDCITES_in_Wikidata_without_pictures.csv recense ces différents ID Cites enrichis des informations suivantes : taxon label, taxon Common Name, nom Scientific, IUCN taxon ID et IUCN statut. Ce fichier compte 12 332 observations car plusieurs "Taxon Common Name(s)" peuvent être associés à un même ID Cites. Ce fichier est le résultat de la query ci dessous :
SELECT distinct ?idCITES ?speciesLabel ?nomScientific ?IUCNtaxonID ?IUCNconservationstatusLabel ?taxonCommonName
WHERE
{
?species wdt:P105 wd:Q7432 .
?species wdt:P2040 ?idCITES.
FILTER NOT EXISTS{ ?species wdt:P18 ?image. } # without images
OPTIONAL {
?species wdt:P225 ?nomScientific .
?species wdt:P627 ?IUCNtaxonID .
?species wdt:P141 ?IUCNconservationstatus .
?species wdt:P1843 ?taxonCommonName .
FILTER(LANG(?taxonCommonName) = "en") .
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" }
} ORDER BY ASC (?idCITES)
https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/queries/examples/fr
@Marinetep, j'ai regarder pour tes questions 1) et 2) et reponds en deux parties.
Partie 1/
D'abord, il y avait un pépin avec la clause OPTIONAL{ ... }
car il manquait des données dans certaines cellules. En l'occurence, les colonnes, nomScientific, IUCNtaxonID, IUCNconservationstatusLabel et taxonCommonName, n'étaient renseignés que si toutes ces quatres informations étaient disponibles ensemble pour un item donné. S'il y avait juste le nomScientific par exemple, les quatres cellules étaient vides.
Or, les items pour les taxa en Wikidata ont toujours un nom scientifique à ce que je vois ; et je pense même qu'un item de type taxon qui n'a pas de nom scientifique pourrait être consideré comme non valable.
Pour corriger, on a besoin d'une clause 'OPTIONAL{...}' par variable facultatif.
En même temps, j'ai réussi à extraire le statut IUCN en anglais en utilisant le service wikibase:label ; et j'ai fait en sorte que le nom scientifique n'est plus facultatif
Ce qui donne le suivant :
SELECT ?idCITES ?speciesLabel ?scientificName ?IUCNtaxonID ?IUCNconservationstatusLabel_en ?taxonCommonName
WHERE
{
?species wdt:P2040 ?idCITES. # items with a CITES ID
?species wdt:P225 ?scientificName . # with a scientific name
?species wdt:P105 wd:Q7432 . # taxons with the rank of species
FILTER NOT EXISTS{ ?species wdt:P18 ?image. } # without images
OPTIONAL { ?species wdt:P627 ?IUCNtaxonID . }
OPTIONAL { ?species wdt:P141 ?IUCNconservationstatus . }
OPTIONAL {
?species wdt:P1843 ?taxonCommonName .
FILTER(LANG(?taxonCommonName) = "en") .
}
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en"
}
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en".
?IUCNconservationstatus rdfs:label ?IUCNconservationstatusLabel_en
}
}
ORDER BY ASC (?idCITES)
Partie 2 / Ensuite, je propose quelques améliorations dans la version de la requête ci-dessous
On note aussi que,
Requête améliorée pour générer CITES_Species_requiring_images.csv
:
SELECT ?idCITES ?wdItem ?scientificName ?IUCNtaxonID
?IUCNconservationstatusLabel_en (GROUP_CONCAT(?taxonCommonName ; separator=" ; ") AS ?taxonCommonNames)
WHERE
{
?wdItem wdt:P2040 ?idCITES. # items with a CITES ID
?wdItem wdt:P225 ?scientificName . # with a scientific name
?wdItem wdt:P105 wd:Q7432 . # taxons with the rank of species
FILTER NOT EXISTS{ ?wdItem wdt:P18 ?image. } # without images
OPTIONAL { ?wdItem wdt:P627 ?IUCNtaxonID . }
OPTIONAL { ?wdItem wdt:P141 ?IUCNconservationstatus . }
OPTIONAL {
?wdItem wdt:P1843 ?taxonCommonName . # retrieve common names in EN and FR
FILTER( LANG(?taxonCommonName) = "en" || LANG(?taxonCommonName) = "fr" ) .
}
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en".
?IUCNconservationstatus rdfs:label ?IUCNconservationstatusLabel_en
}
}
GROUP BY ?idCITES ?wdItem ?scientificName ?IUCNtaxonID ?IUCNconservationstatusLabel_en
ORDER BY ASC (?idCITES)
Cliquer ici pour exécuter : https://tinyurl.com/y3usk25d
Le fichier CITES_Species_requiring_images.csv
remplace désormais le fichier IDCITES_in_Wikidata_without_pictures.csv
@cecilaki peut on supprimé l'ancien fichier?
Amélioration pour plus tard : rajouter des colonnes qui permettront de ségmenter la liste selon les niveaux taxanomique.
Par exemple: il serait utile de traiter les animaux séparamment des plantes ; ou sortir une liste des mamifères dont on cherche une illustration
Le fichier
CITES_Species_requiring_images.csv
remplace désormais le fichier IDCITES_in_Wikidata_without_pictures.csv@cecilaki peut on supprimé l'ancien fichier?
Bien sur!
Objectif : partager cette liste avec des parties prenantes susceptibles de fournir des images supplémentaires. Exemples : universitaires, ONGs (WWF..) etc..
Faire un premier extract à partir de requête SPARQL, avec les informations suivantes :