Skip to main content

Structure

La structure est un établissement scolaire ou administratif.

Une classe appartient à une structure (relation BELONGS)

Une structure peut être parente d'une autre structure. Cette hiérarchie permet de créer des groupes d'établissements scolaires par académie.

Information sur une structure

PropriétéDescription
zipCodeCode postal de l’établissement
addressAdresse postale de l’établissement
cityVille où se situe l’établissement
createdDate de création de la structure dans le système
contractType de contrat de l’établissement (ex : PU pour Public)
groupsListe des groupes/classes associés à la structure
externalIdIdentifiant externe de l’établissement (référentiel externe)
sourceSource des données (ex : AAF)
typeType d’établissement (ex : COLLEGE)
joinKeyClé de jointure pour identifier l’établissement de manière unique
phoneNuméro de téléphone de l’établissement
checksumEmpreinte unique des données pour assurer leur intégrité
nameNom officiel de l’établissement
modifiedDate de dernière modification des données
feederNameNom de l'outil qui a permis l'import
idIdentifiant unique de l’établissement dans le système
UAIIdentifiant UAI (Unité Administrative Immatriculée) de l’établissement
academyAcadémie de rattachement de l’établissement
ministryMinistère de tutelle de l’établissement
emailAdresse email de contact de l’établissement
SIRETNuméro SIRET de l’établissement
ignoreMFAEst-ce que la double authentification peut être ignorée
hasAppEst-ce que cette structure a des applications

Recherche d'une structure

MATCH (u:Structure { id: $structureId }) RETURN u

Groupes dans une structure

Une structure contient une série de groupes

// Création de la relation DEPENDS entre Structure et ProfileGroup
MATCH (s:Structure { id: $structureId }) // Trouve la structure par son ID
MATCH (pg:ProfileGroup { name: $profileGroupName }) // Trouve le groupe de profil par son nom ou un autre identifiant
MERGE (pg)-[:DEPENDS]->(s); // Crée la relation DEPENDS entre ProfileGroup et Structure si elle n'existe pas

// sans commentaire pour le copier/coller

:params {
structureId: 'b3380c81-e5c7-49fa-9058-a5afce4cd1ea',
profileName: 'Teacher',
profileGroupName: 'Teacher Group'
}

MATCH (s:Structure { id: $structureId })
MATCH (pg:ProfileGroup { name: $profileGroupName })
MERGE (pg)-[:DEPENDS]->(s);
MERGE (p:Profile { name: $profileName })
MERGE (pg)-[:HAS_PROFILE]->(p);

Structure avec une relation de parent

MATCH (u:Structure { id: '48cc0875-717d-49c4-bb90-a0a8fac0e98a' }) RETURN u
  {
"id": "518ffe62-a2fb-4142-8aca-f71a3faa2ea7",
"UAI": "0016268W",
"name": "CLG-ALAIN-CROZON",
"externalId": "565256",
"timetable": null,
"punctualTimetable": null,
"hasApp": null,
"ignoreMFA": null,
"levelsOfEducation": [
1,
2
],
"distributions": [],
"manualName": null,
"feederName": "CLG-ALAIN-CROZON",
"source": "AAF",
"exports": null,
"parents": [
{
"name": "COLLEGE",
"id": "48cc0875-717d-49c4-bb90-a0a8fac0e98a"
}
]
}