Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.
06-10-2022
09:59 AM
- last edited on
07-25-2022
09:17 AM
by
TrevorS
Dear Community,
we are Connor and Daniel, Software Engineers at Anaconda, and we are currently looking at neo4j to represent our package meta data to answer questions like:
Background: Package managers like conda, pip, apt, yum solve dependency trees to install a package via SAT solvers. Loading dependency trees into a Graph database like neo4j feels most natural to model relations, to query, visualize and compare graphs and sub-graphs with inspiring articles:
But can this be applied to conda packages, where multiple versions are available for each package at the same time with specificly ranged version constraints?
Each package contains a index.js file that describes it dependencies:
...
"depends": [
"bleach",
"bokeh >=2.4.0,<2.5.0",
"markdown",
"param >=1.12.0",
"pyct >=0.4.4",
"python >=3.8,<3.9.0a0",
"pyviz_comms >=0.7.4",
"requests",
"tqdm >=4.48.0"
],
...
Model Idea
Specifics:
MATCH (X:real {name: numpy, version: 1.19.2}) -[r:DEPENDS_ON {type: "run"}]->
(Y:virtual) <-[s:PROVIDES]-
(Z:real)
WHERE s.version in r.constraints
RETURN z.name, max(z.version), max(z.build)
>=, <, =!
Any feedback, hints, model ideas appreciated.
Thanks
06-10-2022 10:32 AM - edited 06-10-2022 10:49 AM
Thanks!
All the sessions of the conference are now available online