❔ About
Sometimes, you may need to know if the current Neo4J version you are running is up-to-date, which versions are available, supported... or simply if you have the latest
version of your release so you can achieve maintenance.
In this post, you'll discover how to achieve this in pure Cypher
with the help of APOC
.
To show how easy the process is, we'll do this on AuraDB
, from scratch.
🍿 Demo for impatients
🕹️ Script time for geeks
// Get the current version
call dbms.components() yield name,
versions,
edition
unwind versions as version
return name, version, edition;
// Load all products
CALL apoc.load.json("https://endoflife.date/api/all.json")
YIELD value
UNWIND value.result AS product
MERGE (p:EOLProduct {name: product,
url: 'https://endoflife.date/' + product});
// create unique index
CREATE CONSTRAINT EOL_UNIQUE_PRODUCTS
FOR (p:EOLProduct)
REQUIRE p.product IS UNIQUE;
MATCH (p:EOLProduct) RETURN p;
MATCH (p:EOLProduct)
CALL apoc.load.json('https://endoflife.date/api/neo4j.json')
YIELD value
MERGE (c:EOLCycle {product: p.name,
cycle: value.cycle,
eol: value.eol,
//support: value.support,
latest: value.latest,
latestReleaseDate: value.latestReleaseDate,
releaseDate: value.releaseDate,
lts: value.lts//link: value.link
}
);
// link cycles with products
MATCH
(c:EOLCycle),
(p:EOLProduct)
WHERE c.product = p.name
CREATE (c)-[r:EOL_CYCLE_OF]->(p)
RETURN type(r);
... then get releases of Neo4J
:
MATCH (c:EOLCycle)-[r:EOL_CYCLE_OF]->(p:EOLProduct)
WHERE p.name = 'neo4j'
RETURN c,r,p;
🔖 Related content
🐛 Neo4J > 5.3.0, the latest one is missing #2211
adriens
posted on
❔ Context
call dbms.components() yield name, versions, edition unwind versions as version return name, version, edition;
While on endoflife.date
` :
🎯 Action
Add the 5.3
cycle