genmod / opengds /README.md
pbordescnil's picture
Add OpenGDS client compatibility procedure
ca51a8e
|
Raw
History Blame Contribute Delete
1.63 kB

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.