core - Quelle est l'utilité du paramètre `direction` pour cette action ?

Symétrie des Relations et Topologie

Réponse

Le paramètre `direction` permet de spécifier si le graphe doit être traité comme orienté ('DIRECTED') ou non orienté ('UNDIRECTED'). Pour la décomposition en k-cœurs, l'algorithme traite le graphe comme non orienté par défaut, ce qui est le comportement standard pour cette métrique.
SAS / CASL
proc cas;
   /* Chargement de l'ensemble d'actions */
   loadactionset "network";

   /* Lancement de l'analyse k-core */
   action network.core /
      /* Définition des données source */
      links = {name="Links"}
      
      /* Mapping des variables (Best Practice pour la robustesse) */
      linksVar = {from="from", to="to"}

      /* Paramètre direction explicite :
         On indique au moteur de traiter A->B et B->A comme une simple connexion.
         Cela évite toute ambiguïté sur la nature de la cohésion recherchée. */
      direction = "UNDIRECTED"

      /* Récupération des résultats */
      outNodes = {name="Core_Res_Nodes", replace=TRUE}
      outLinks = {name="Core_Res_Links", replace=TRUE};
   run;

   /* Aperçu : On s'attend à ce que le graph soit un 2-core complet */
   table.fetch / table="Core_Res_Nodes";
quit;
Cette réponse vous a-t-elle aidé ?
Attention à ne pas sur-spécifier ce paramètre inutilement pour cette action précise.Le piège : Vous pourriez penser qu'en mettant direction="DIRECTED", l'algorithme calculera des cœurs basés sur les degrés entrants ou sortants uniquement.La réalité SAS Viya : La documentation technique précise que pour l'action core, le graphe est traité comme non orienté. Si vous forcez direction="DIRECTED", le moteur va généralement symétriser le graphe (traiter A$\to$B comme A$\leftrightarrow$B) pour le calcul du k-core.Best Practice : Laissez toujours direction="UNDIRECTED" (ou la valeur par défaut) pour l'action core, sauf si vous chargez un graphe via loadGraph qui sert aussi à d'autres algorithmes orientés (comme PageRank) dans la même session. Cela rend votre code plus lisible et aligné avec la réalité méthodologique de l'algorithme.
core

network

Doc : core