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 :
```bash
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.