Spaces:
Running
OpenGDS personnalisé pour GenMod
Cette image utilise un fork minimal d’OpenGDS afin que
gds.bfs.stream renvoie la profondeur minimale de chaque nœud pendant
le parcours, dans une nouvelle colonne depths alignée avec nodeIds.
Source et version
- dépôt amont : https://github.com/neo4j/graph-data-science
- tag amont :
2.22.0 - licence amont : GNU General Public License v3.0
- patch maintenu ici :
gds-2.22.0-bfs-depth.patch - JAR construit :
open-gds-2.22.0-genmod.jar - SHA-256 :
940c1f0c0cb6a9adbee84c9f15207740262e7c7c83464ad61b31000e4b7caf5e
Le patch modifie uniquement le mode stream du BFS. Les modes stats et
mutate conservent leur résultat historique.
Il ajoute aussi une procédure de compatibilité gds.debug.arrow indiquant
qu’Arrow est désactivé. Le client Python GDS appelle cette procédure lors de
sa connexion, alors que le build OpenGDS ne fournit pas le serveur Arrow.
Reproduire le JAR
Utiliser un JDK 21 :
git clone https://github.com/neo4j/graph-data-science.git
cd graph-data-science
git checkout 2.22.0
git apply /chemin/vers/gds-2.22.0-bfs-depth.patch
./gradlew :algo:test \
--tests org.neo4j.gds.paths.traverse.BFSTest
./gradlew :proc-path-finding:test \
--tests org.neo4j.gds.paths.traverse.BfsStreamProcTest
./gradlew :proc-sysinfo:test \
--tests org.neo4j.gds.SysInfoProcTest
./gradlew :open-packaging:shadowCopy
Le résultat est créé dans
build/distributions/open-gds-2.22.0.jar.
Le Dockerfile copie ce JAR dans le répertoire des plugins Neo4j et
n’utilise donc pas le téléchargement automatique du plugin GDS officiel.