knitr::opts_chunk$set(echo = TRUE)
library(knitr)

library(wikidataESR)

library(ggplot2)
library(network)
library(ggnetwork)
library(scales)
library(dplyr)

WikidataESR est une librairie R s'appuyant sur wikidataR pour récupérer les données de l'ESR dans wikidata et produire des graphiques.

Installation

WikidataESR peut s'installer directement depuis GitHub avec devtools :

install.packages("devtools")
library(devtools)

install_github("cpesr/wikidataESR")

Les bases de WikidataESR

Récupérer les données

Pour récupérer les données, vous devez disposer d'un identifiant wikidata racine, et savoir quelles propriétés vous souhaitez explorer.

L'exploration se fait avec la fonction wdesr_get_graph.

Par exemple, il est possible d'explorer les établissements du Site Alsace :

library(wikidataESR)
df.alsace <- wdesr_get_graph("Q61716176", c('composante','associé'), 1)

Pour faciliter les contributions, la fonction déclenche des warning pour chaque problème potentiel lié aux données saisie dans wikidata.

Elle retourne un objet contenant vertices et edges, qui représentent les établissements et leurs relations.

kable(df.alsace$vertices[,1:5])
kable(df.alsace$edges)

Tracer des représentations

Depuis le graphes retourné par wdesr_get_graph, il est possible de tracer directement en utilisant la librairie network.

library(network)
net <- network(df.alsace$edges,
               matrix.type="edgelist", ignore.eval=FALSE,
               directed = TRUE)

plot(net)

Cependant, pour faciliter les choses, wikidataESR propose une fonction adaptatée : wdesr_ggplot_graph

wdesr_ggplot_graph(df.alsace)

Deux en un

Pour facilier les choses, la fonction wdesr_load_and_plot permet de tout faire d'un coup :

wdesr_load_and_plot("Q61716176", c('composante','associé'), 1)

On peut observer que les deux images ne sont pas identiques : le processus de traçage des graphes est aléatoire. Il est ainsi parfois utile de tracer plusieurs fois un graphiques pour arriver à un résultat satisfaisant.

Gestion du cache

Afin de ne pas avoir à retélécharger systématiquement les données, wikidataESR utilise un cache local. Il est possible de sauvegarder ce cache pour une utilisation future avec wdesr_save_cache().

Il suffira ensuite de recharger le cache à la prochaine session pour ne pas retélécharger les données avec wdesr_load_cache(). Attention : en cas de modification des données sur wikidata, les données du cache local peuvent être périmées.

Il est enfin possible d'accéder directement au cache avec wdesr_get_cache()

Pour aller plus loin

Plus de profondeur

#wdesr_load_cache()

Il est souvent utile d'aller plus en profondeur pour explorer plus de relations. Cela se fait en modifiant l'argument depth :

wdesr_load_and_plot("Q61716176", c('composante','associé'), depth = 3)
wdesr_save_cache()

Plus de contrôle

Pour contrôler les graphiques, plusieurs paramètres sont disponibles :

Taille des noeuds

wdesr_load_and_plot("Q61716176",c('composante','associé'), 3,
                    node_size = c(2,5), label_sizes = c(3,5), 
                    arrow_gap = 0.0,
                    node_label = "alias", node_type = "text",
                    edge_label = FALSE)

Taille des textes

wdesr_load_and_plot("Q61716176",c('composante','associé'), 3,
                    node_size = c(2,8), label_sizes = c(1,10), 
                    arrow_gap = 0.0,
                    node_label = "alias", node_type = "text",
                    edge_label = FALSE)

Taille des textes

wdesr_load_and_plot("Q61716176",c('composante','associé'), 3,
                    node_size = c(2,8), label_sizes = c(3,5), 
                    arrow_gap = 0.0,
                    node_label = "alias", node_type = "text",
                    edge_label = FALSE)

Type des textes

wdesr_load_and_plot("Q61716176",c('composante','associé'), 3,
                    node_size = 3, label_sizes = c(3,5), 
                    arrow_gap = 0.0,
                    node_label = "alias_date", node_type = "text",
                    edge_label = TRUE)

Type des noeuds

wdesr_load_and_plot("Q61716176",c('composante','associé'), 3,
                    node_size = 3, label_sizes = c(1,3), 
                    arrow_gap = 0.0,
                    node_label = "alias_date", node_type = "label_repel",
                    edge_label = FALSE)


cpesr/wikidataESR documentation built on Sept. 14, 2024, 5:51 a.m.