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 |
|---|---|
zipCode | Code postal de l’établissement |
address | Adresse postale de l’établissement |
city | Ville où se situe l’établissement |
created | Date de création de la structure dans le système |
contract | Type de contrat de l’établissement (ex : PU pour Public) |
groups | Liste des groupes/classes associés à la structure |
externalId | Identifiant externe de l’établissement (référentiel externe) |
source | Source des données (ex : AAF) |
type | Type d’établissement (ex : COLLEGE) |
joinKey | Clé de jointure pour identifier l’établissement de manière unique |
phone | Numéro de téléphone de l’établissement |
checksum | Empreinte unique des données pour assurer leur intégrité |
name | Nom officiel de l’établissement |
modified | Date de dernière modification des données |
feederName | Nom de l'outil qui a permis l'import |
id | Identifiant unique de l’établissement dans le système |
UAI | Identifiant UAI (Unité Administrative Immatriculée) de l’établissement |
academy | Académie de rattachement de l’établissement |
ministry | Ministère de tutelle de l’établissement |
email | Adresse email de contact de l’établissement |
SIRET | Numéro SIRET de l’établissement |
ignoreMFA | Est-ce que la double authentification peut être ignorée |
hasApp | Est-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"
}
]
}