# 5.15. Recalcul des données graphe

Il est possible de recalculer les données du graphe en utilisant une requête DSL. En effet, dans le cadre de la procédure de PRA, il est nécessaire de pouvoir détecter les unités archivistiques ayant un graphe incohérent (construire le DSL requis) selon la procédure de déclenchement décrite ci-dessous.

Le recalcul de graphe permet de rétablir la cohérence des données VITAM.

Prudence

En cas de données de graphe incohérentes, le résultat des requêtes DSL sur les unités archivistiques pourra être incorrect. Il n’est pas recommandé d’utiliser des champs du graphe calculés tels que #allunitups.

Prudence

L’exécution des requêtes DSL n’est pas soumise à des filtres de sécurité définis dans les contrats d’accès.

## 5.15.1. Déclenchement

Le recalcul du graphe est déclenché par l’appel au point d’API porté par l’URL suivante sur le composant `metadata`

    http://{{ ip_admin }}:{{ vitam.metadata.port_admin }}/metadata/v1/computegraph

Exemple d’appel à l’aide de curl :

    curl -s -X POST -H "X-Tenant-Id: <tenant>" -H "Content-Type: application/json" --user "${VITAM_ADMIN_AUTH}" --data @${CURRENT_DIR}/dslQuery.json ${URL}

Exemple de query DSL (dslQuery.json) :

    {
      "$roots": [
        "aeaqaaaaaqhdytymabdeialenehzphiaaaeq",
        "aeaqaaaaaqhdytymabdeialenehzpbyaaajq"

    ... , "guid_n"
      ],
      "$query": [],
      "$projection": {}
    }

La valeur utilisée pour la basic authentication prend la forme suivante

    VITAM_ADMIN_AUTH={{ admin_basic_auth_user }}:{{ admin_basic_auth_password }}

- Le paramètre `adminUser` correspond à la valeur `admin_basic_auth_user` déclarée dans le fichier `deployment/environments/group_vars/all/advanced/vitam_security.yml`
- Le paramètre `adminPassword` correspond à la valeur `admin_basic_auth_password` déclarée dans le fichier `deployment/environments/group_vars/all/main/vault-vitam.yml`