DEV Community

Cover image for πŸ” Browse Neo4J EoL versions inside Neo4J AuraDB πŸ€“
adriens for opt-nc

Posted on

πŸ” Browse Neo4J EoL versions inside Neo4J AuraDB πŸ€“

❔ 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;
Enter fullscreen mode Exit fullscreen mode
// 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);
Enter fullscreen mode Exit fullscreen mode

... then get releases of Neo4J :

MATCH (c:EOLCycle)-[r:EOL_CYCLE_OF]->(p:EOLProduct)
  WHERE p.name = 'neo4j'
RETURN c,r,p;
Enter fullscreen mode Exit fullscreen mode

Image description

Image description

πŸ”– Related content

πŸ› Neo4J > 5.3.0, the latest one is missing #2211

❔ Context

call dbms.components() yield name, versions, edition unwind versions as version return name, version, edition;
Enter fullscreen mode Exit fullscreen mode

image

While on endoflife.date` :

image

image

🎯 Action

Add the 5.3 cycle

πŸ“‘ Resources

Top comments (1)

Collapse
 
adriens profile image
adriens