Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
G
Graphe_association
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Wiki
Wiki externe
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Extraits de code
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Déploiement
Releases
Registre de paquets
Registre de conteneurs
Registre de modèles
Opération
Environnements
Modules Terraform
Surveillance
Incidents
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse CI/CD
Données d'analyse du dépôt
Expériences du modèle
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté GitLab
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
Armand BURDEYRON
Graphe_association
Validations
ae116fd7
Valider
ae116fd7
rédigé
Il y a 3 mois
par
Thomas MESLIN
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
Generation des nodes et edges pour faire un graphe
parent
041baa4f
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Modifications
2
Afficher les modifications d'espaces
En ligne
Côte à côte
Affichage de
2 fichiers modifiés
script/src/csv.ml
+54
-0
54 ajouts, 0 suppression
script/src/csv.ml
script/src/point_assos_to_gephi.ml
+11
-2
11 ajouts, 2 suppressions
script/src/point_assos_to_gephi.ml
avec
65 ajouts
et
2 suppressions
script/src/csv.ml
+
54
−
0
Voir le fichier @
ae116fd7
...
@@ -52,6 +52,10 @@ let merge_column rand_csv col_name1 col_name2 new_col_name f =
...
@@ -52,6 +52,10 @@ let merge_column rand_csv col_name1 col_name2 new_col_name f =
{
column_name
=
new_col_name
;
data
=
new_data
}
{
column_name
=
new_col_name
;
data
=
new_data
}
let
del_column
csv
nom_col
=
merge_column
csv
nom_col
nom_col
""
(
fun
a
b
->
""
)
let
map
rand_csv
col_name
f
=
begin
let
map
rand_csv
col_name
f
=
begin
let
idx
=
trouve_indice
rand_csv
.
column_name
col_name
in
let
idx
=
trouve_indice
rand_csv
.
column_name
col_name
in
let
new_data
=
List
.
map
let
new_data
=
List
.
map
...
@@ -122,5 +126,55 @@ let create_line csv l =
...
@@ -122,5 +126,55 @@ let create_line csv l =
set_arg
l
;
set_arg
l
;
add_line
csv
arr
add_line
csv
arr
let
to_graph
csv
col_name_label
=
let
nodes
=
create
[
"Id"
;
"Label"
]
in
let
edges
=
create
[
"Source"
;
"Target"
;
"Type"
;
"Id"
;
"Weight"
]
in
let
hash_node
=
Hashtbl
.
create
(
List
.
length
csv
.
column_name
)
in
let
rec
ajoute_assos
node
k
nom_assos
=
match
nom_assos
with
|
[]
->
node
,
k
|
nom_assos
::
tl
->
if
nom_assos
<>
""
&&
not
(
String
.
equal
nom_assos
col_name_label
)
then
begin
Hashtbl
.
add
hash_node
nom_assos
(
string_of_int
k
);
ajoute_assos
(
add_line
node
[
|
string_of_int
k
;
nom_assos
|
])
(
k
+
1
)
tl
end
else
ajoute_assos
node
k
tl
in
let
nodes
,
k
=
ajoute_assos
nodes
0
csv
.
column_name
in
let
id
=
trouve_indice
csv
.
column_name
col_name_label
in
let
ajoute_label
node
k
=
let
id
=
trouve_indice
csv
.
column_name
col_name_label
in
let
node
,
k
=
List
.
fold_left
(
fun
(
node
,
acc
)
arr
->
let
label
=
arr
.
(
id
)
in
Hashtbl
.
add
hash_node
label
(
string_of_int
acc
);
(
add_line
node
[
|
string_of_int
acc
;
label
|
]
,
acc
+
1
)
)
(
node
,
k
)
csv
.
data
in
node
,
k
in
let
nodes
,
k
=
ajoute_label
nodes
k
in
let
ajoute_arete
edge
label
assos
k
poids
=
add_line
edge
[
|
Hashtbl
.
find
hash_node
label
;
Hashtbl
.
find
hash_node
assos
;
"Undirected"
;
k
;
poids
|
]
in
let
ajoute_arete_ligne
edge
arr
k_i
=
let
label
=
arr
.
(
id
)
in
let
edge
,
k
,_
=
List
.
fold_left
(
fun
(
edge
,
k
,
i
)
nom_col
->
if
arr
.
(
i
)
=
""
||
nom_col
=
""
||
String
.
equal
nom_col
col_name_label
then
(
edge
,
k
,
i
+
1
)
else
(
ajoute_arete
edge
label
nom_col
(
string_of_int
k
)
arr
.
(
i
)
,
k
+
1
,
i
+
1
))
(
edge
,
k_i
,
0
)
csv
.
column_name
in
edge
,
k
in
let
edges
,
k
=
List
.
fold_left
(
fun
(
edge
,
k
)
arr
->
ajoute_arete_ligne
edge
arr
k
)
(
edges
,
0
)
csv
.
data
in
edges
,
nodes
Ce diff est replié.
Cliquez pour l'agrandir.
script/src/point_assos_to_gephi.ml
+
11
−
2
Voir le fichier @
ae116fd7
...
@@ -25,7 +25,16 @@ let () = begin
...
@@ -25,7 +25,16 @@ let () = begin
let
_
=
apply_coef
coef_asso
points_assos
in
let
_
=
apply_coef
coef_asso
points_assos
in
let
_
=
apply_coef
coef_liste
points_assos
in
let
_
=
apply_coef
coef_liste
points_assos
in
Csv
.
save
points_assos
"../../res_script/point_assos_re_coefficiente.csv"
Csv
.
save
points_assos
"../../res_script/point_assos_re_coefficiente.csv"
;
let
points_assos
=
Csv
.
merge_column
points_assos
"NOM"
"Prénom"
"Nom Prenom"
(
fun
a
b
->
a
^
" "
^
b
)
in
let
points_assos
=
Csv
.
del_column
points_assos
"Formation"
in
let
points_assos
=
Csv
.
del_column
points_assos
"Total"
in
let
points_assos
=
Csv
.
del_column
points_assos
"Assos"
in
let
edges
,
nodes
=
Csv
.
to_graph
points_assos
"Nom Prenom"
in
Csv
.
save
nodes
"../../res_script/nodes.csv"
;
Csv
.
save
edges
"../../res_script/edges.csv"
;
print_endline
"Graphe généré avec succès !"
end
end
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter