Linkr
Accueil Ressources Outils Documentation Blog Démo
EN
  • Qu'est-ce que Linkr ?
  • Modes de déploiement
  • Démarrage rapide
  • Installation locale
  • Avec Docker
  • Installation manuelle
  • Client-only
  • Installer LibreChat
  • Votre premier projet
  • Linkr dans un EDS
  • Espaces de travail et projets
  • Le pipeline de données
  • Entités et partage
  • Versioning et collaboration
  • Vue d'ensemble
  • Projets
  • Wiki
  • Plugins
  • Membres et rôles
  • Paramètres
  • Schémas
  • Obtenir et explorer
  • Mapping
  • Bases de données
  • Sous-bases dérivées
  • Qualité des données
  • Catalogue de données
  • Construire et publier
  • Anonymiser
  • Collections de scripts SQL
  • Pipelines ETL
  • Construire et exécuter
  • Générer les scripts
  • Présentation
  • Projets d'alignement
  • Vue d'ensemble
  • Concepts cibles
  • Éditeur d'alignements
  • Suggestions
  • Agent IA
  • Évaluation
  • Export
  • Vue d'ensemble
  • Bases de données
  • Concepts
  • Cohortes
  • Construire
  • Résultats, SQL et rapport
  • Données individuelles
  • Pipeline
  • Jeux de données
  • IDE
  • Applications web
  • Versioning
  • Vue d'ensemble
  • Onglets et widgets
  • Widgets intégrés
  • Widgets d'analyse
  • Cartes de contrôle (SPC)
  • Questionnaires et eCRF
  • Code R et Python
  • Filtres, paramètres et export
  • Vue d'ensemble
  • Mode présentation
  • Exporter un rapport
  • Agents
  • Serveur MCP
  • Skills
  • Import et export
  • Versioning git
  • Catalogue communautaire
  • Publier du contenu
  • Installation en production
  • Configuration
  • Connecteurs de bases de données
  • Authentification et permissions
  • Fichiers sur le serveur
  • Sauvegarde et restauration
  • Contribuer au code
  • Glossaire
  • Raccourcis clavier
  • Notes de version
Documentation Entrepôt de données Collections de scripts SQL

Collections de scripts SQL

Ranger, exécuter et partager les requêtes qui interrogent vos bases : l'éditeur, l'explorateur de schéma et les raccourcis.

En résumé

Une collection est un dossier de scripts SQL, rangés en arborescence et exécutés sur une base de l’entrepôt. L’éditeur exécute une sélection, un script ou toute la collection, et ouvre à la demande un explorateur du schéma de la base. Comme toute entité Linkr, une collection s’exporte, se versionne et se publie.

Client Disponible en mode client-only — tout fonctionne dans le navigateur, sans backend. Backend Disponible avec le backend FastAPI.

Pourquoi ranger ses requêtes

Les requêtes qui interrogent un entrepôt existent déjà, en quantité. Elles sont simplement dispersées : réparties entre plusieurs dépôts git, parfois pas versionnées du tout, et surtout rarement mises en commun. Chaque équipe réécrit ce qu’une autre a déjà écrit.

Une collection les rassemble là où se trouvent les données. Elles s’exécutent sur la base concernée, elles portent un nom, et elles suivent le même chemin de partage que le reste — export, dépôt git, catalogue.

Ce n'est pas un outil de transformation

Une collection interroge. Elle ne fabrique pas de base et n’écrit nulle part : toutes les bases sont attachées en lecture seule. Pour alimenter une base à partir d’une autre, c’est un pipeline ETL.

L’éditeur

La page d’une collection a deux onglets, Aperçu — le readme — et Scripts, plus le menu Plus. L’onglet Scripts est l’éditeur : l’arborescence des scripts à gauche, la barre d’outils, puis l’éditeur et, à sa droite, les résultats.

Dans l'éditeur
demo.linkr.interhop.org
controles
01_patients.sql312 o
02_sejours.sql486 o
03_mesures_orphelines.sql1 ko
README.md2 ko
01_patients.sqlREADME.md
Console1Résultat — 01_patients.sql (sélection)
1-- Contrôles de base
2SELECT COUNT(*) AS n FROM person;
3
4-- Répartition par sexe
5SELECT gender_source_value, COUNT(*) AS n
6FROM person
7GROUP BY gender_source_value;
#Aagender_source_value#n
gender_source_value...
Min
Max
1F57
2M43
2 lignes
Par pagePage 1 sur 1
L'onglet Scripts d'une collection. La barre d'outils porte Exécuter (sa flèche ouvre le menu Exécuter le script courant / Exécuter tous les scripts), la base active, Explorer le schéma et Copier la référence du schéma. Chaque exécution ouvre un onglet de résultat, à droite des onglets de fichiers. La bascule au-dessus montre ce qui part avec Cmd/Ctrl + Entrée, selon qu'il y a une sélection ou non.

Les scripts se rangent en dossiers, comme des fichiers. Les fichiers .md sont acceptés eux aussi : une collection peut donc mêler requêtes et notes expliquant à quoi elles servent — et un fichier markdown s’ouvre en rendu, dans un onglet Aperçu, plutôt qu’en texte.

Chaque exécution ouvre son onglet Résultat, nommé d’après le script — et d’après la sélection ou la ligne quand ce n’est qu’un morceau. Les onglets de résultat se ferment un à un, ou tous d’un clic droit.

Exécuter

Quatre gestes, du plus fin au plus large :

ActionRaccourciCe qui part
Exécuter la sélectionCmd/Ctrl + EntréeLe texte sélectionné
Exécuter la ligne couranteCmd/Ctrl + EntréeLa ligne du curseur, quand rien n’est sélectionné
Exécuter le scriptBouton ExécuterLe fichier entier
Exécuter tous les scriptsCmd/Ctrl + Maj + EntréeToute la collection

Le même raccourci sert pour la sélection et pour la ligne : s’il y a une sélection, c’est elle qui part, sinon c’est la ligne du curseur. C’est la convention de RStudio, et elle rend la mise au point d’une requête longue beaucoup plus directe — on exécute un morceau de WITH sans découper le fichier.

Cmd/Ctrl + S enregistre. Un bouton dans la barre d’outils affiche la liste complète des raccourcis.

L’explorateur de schéma

Explorer le schéma, l’icône de tableau à côté du sélecteur de base, ouvre une fenêtre à trois volets titrée du nom de la base — le même explorateur que l’onglet Schéma d’une base de données. À gauche, les tables avec leur nombre de lignes et un filtre ; au centre, les colonnes de la table choisie, avec leur type et leur complétude ; à droite, les statistiques de la colonne choisie.

demo.linkr.interhop.org

MIMIC-IV démo (OMOP)

person100 lignes · 8 colonnes
Dernier chargement : 28 sept. 2026, 10:42 Stats
Tables (11)lignes
Filtrer les tables…
ColonneTypeComplétudeDistinct
#person_id
BIGINT
100%
100
#gender_concept_id
INTEGER
100%
2
#year_of_birth
INTEGER
100%
58
birth_datetime
TIMESTAMP
100%
100
#race_concept_id
INTEGER
100%
5
Aagender_source_value
VARCHAR
100%
2
#care_site_id
BIGINT
12%
3
#location_id
BIGINT
0%
0
#year_of_birth

INTEGER

Complétude100,0%
100 non-null0 manquants
Total lignes100
Valeurs uniques58
Min1932
Max2003
Moyenne1961,4
Distribution
La fenêtre Explorer le schéma. Cliquez sur une colonne pour ses statistiques — complétude, valeurs uniques, min/max ou dates extrêmes, distribution, valeurs fréquentes —, ou sur la table visit_occurrence. Copier SELECT met dans le presse-papier une requête listant toutes les colonnes de la table.

La case Stats de la barre de l’explorateur règle le calcul des statistiques de colonne : décochée, l’explorateur ne fait que lister, ce qui va plus vite sur une grosse table. Copier SELECT évite de retaper les colonnes d’une table.

Un bouton voisin, dans la barre d’outils de l’éditeur, Copier la référence du schéma pour SQL, copie le préfixe qui désigne la base dans une requête.

Ce bouton n'apparaît qu'en mode navigateur

Et c’est normal. En mode navigateur, une base est attachée sous le nom ds_<identifiant>, utile pour une requête qui croise plusieurs bases. En mode serveur, ce préfixe n’existe pas : les scripts s’écrivent avec des noms de table nus. Le bouton est masqué plutôt que de proposer une référence qui ne fonctionnerait pas. Voir Bases de données.

Choisir la base

Une collection s’exécute sur une base à la fois, choisie dans la barre d’outils. La collection mémorise une base par défaut, modifiable à tout moment.

Cela veut dire qu’une même collection peut servir sur plusieurs bases du même modèle : des scripts de contrôle OMOP écrits une fois s’exécutent sur la base de production comme sur une copie de test, en changeant simplement la base active.

En mode serveur, un résultat est plafonné à 10 000 lignes

La requête s’exécute entièrement côté serveur, mais seules les 10 000 premières lignes redescendent vers le navigateur. C’est une protection : un SELECT * sur une table de plusieurs millions de lignes ne ramène pas tout l’entrepôt dans un onglet.

Pour un volume supérieur, agrégez côté SQL, ou passez par un jeu de données — qui, lui, est fait pour porter des tables entières.

Partager une collection

Une collection est une entité comme les autres : export ZIP, dépôt git, publication au catalogue, readme et licence. Son contenu est du texte, donc elle se versionne particulièrement bien — un git diff sur une requête se lit.

C’est le format naturel pour diffuser un jeu de requêtes : des contrôles OMOP, le calcul d’un score, les requêtes d’extraction d’une étude. Voir Entités et partage.

Pour aller plus loin

  • Bases de données — ce que les scripts interrogent, et comment les désigner.
  • Qualité des données — pour transformer une requête de contrôle en vérification rejouable.
  • Pipelines ETL — quand il faut écrire, et pas seulement lire.
  • IDE — pour une analyse en R ou en Python plutôt qu’en SQL.
PrécédentAnonymiserSuivantPipelines ETL

Produit

  • Accueil
  • Démo

Ressources

  • Documentation
  • Ressources
  • Outils
  • Blog

Communauté

  • Code source Framagit
  • Code source Github

À propos

  • InterHop.org
  • Contact

2021–2026 InterHop — CC BY-NC-SA 4.0 (site) · AGPLv3 (logiciel)