constellationR
est un paquet R pour interagir avec le logiciel Constellation pour le partage de données scientifiques distribuées.
Vous pouvez installer constellationR
de GitHub ainsi :
# install.packages("devtools")
devtools::install_github("reseau-constellation/client-r")
Vous pouvez effectuer des actions ainsi :
library(constellationR)
constellationR::avecClientEtServeur(
function (client) {
# Accéder l'identifiant du compte
idCompte <- client$appeler("obtIdCompte")
# Créer une nouvelle base de données
idBd <- client$appeler(
"bds.créerBd",
list(licence="ODbl-1_0")
)
}
)
Vous pouvez également suivre des données du réseau Constellation :
library(constellationR)
constellationR::avecClientEtServeur(
function (client) {
oublier <- client$appeler(
"bds.suivreNomsBd",
list(
idBd = idBd,
f = print
)
)
Sys.sleep(2)
# Arrêter le suivi après 2 secondes
oublier()
}
)
Si vous ne voulez pas suivre les données, mais seulement obtenir leur valeur au moment que la fonction est invoquée, vous n'avez qu'à omettre le paramètre de fonction de suivi :
library(constellationR)
constellationR::avecClientEtServeur(
function (client) {
nomsBd <- client$appeler(
"bds.suivreNomsBd",
list(
idBd = idBd
)
)
}
)
C'est la même chose pour les fonctions de recherche :
library(constellationR)
constellationR::avecClientEtServeur(
function (client) {
variablesTrouvées <- NULL
f <- function(résultats) {
variablesTrouvées <<- sapply(résultats, (\(x) x$id))
}
retour <- client$rechercher(
"recherche.rechercherVariablesSelonNom",
list(nomVariable="oiseaux", nRésultatsDésirés = 10, f = f)
)
idVariableAudio <- client$action(
"variables.créerVariable", list(catégorie="audio")
)
client$action(
"variables.sauvegarderNomVariable",
list(idVariable=idVariableAudio, langue="fr", nom="Audio oiseaux")
)
idVariableNom <- client$action(
"variables.créerVariable", list(catégorie="chaîne")
)
client$action(
"variables.sauvegarderNomVariable",
list(idVariable=idVariableNom, langue="fr", nom="Nom oiseau")
)
retour$fChangerN(1)
Sys.sleep(2)
retour$fChangerN(4)
Sys.sleep(2)
retour$fOublier()
}
)
Si vous avez déjà lancé un serveur Constellation (p. ex., dans l'interface graphique ou bien à travers un autre processus), vous pouvez vous connecter directement à celui-ci.
library(constellationR)
// Le numéro du port sur lequel vous avez lancé Constellation
port <- 5003
codeSecret <- "le code secret que le serveur vous a donnée afin de vous connecter"
constellationR::avecClient(
function(client) {
// Faire quelque chose avec le client...
},
port = port,
codeSecret = codeSecret
)