Got trees on the brain so figured I’d ask if there were graphing databases and so there are. Checking out the OG Neo4j. I was thinking it would have like a MongoDB Compass desktop app that lets you create a graph database on your local machine, and so it does: Get Neo4j Desktop
Creating a Local Database
Now I wasn’t too sure this would let you create a database; the scuttlebutt centering around viewing and querying databases hosted online by their AuraDB MongoDB Atlas equivalence. But now I sit here later and can confidently say that you can.

Just click the “New” button to create a project (you can rename it after creation). Then hit that “Add” button, select “Local DBMS”, type a name for the database and give it a password.

After a spin, you have your local database. Start it by clicking on the ”Start” button next to the database name. Once it starts, open it by clicking the “Open” button. Huh, “Open” is a drop-down; did not notice that. There’s a bunch of tools to choose from Hmm. More to learn. Does it ever end? The button defaults to Neo4j Browser and that’s good enough for now. The browser will open and allows you to enter queries at the prompt.
Cypher
Cypher is the query language and Claude’s the ai for the job. Remember Prompt Engineering? Wonder how much money the smart people made teaching that? Did they go into companies where the execs demanded everyone know prompt engineering so they could fire half the staff? Now a distant memory; maybe some of that money went toward a McLaren. Hope.
Best Practices for Naming
- Node labels: CamelCase
- Property keys and variables: camelCase
- Cypher Keywords: UPPERCASE
Node Creation
You’ll typically want a few properties on each node and there’s two keywords for creation: CREATE makes a node without regard for whether it already exists, so might result in a duplicate. BUT it’s fast. MERGE makes a node, but first checks to see if it already exists, so no duplicates but relatively slow. Here’s an example query for creating a node with a few properties:
CREATE (p:Pet {ident: '12345', petType: 'cat', name: 'Lilly', age: 20, continenceLevel: 'poor', needle: 'Not yet'}) RETURN p
Paste that into the prompt and press enter. The ‘RETURN p” part will return the node after it’s created.

Oops, forgot the color. No problem; just set another property on the node like this:
MATCH (p:Pet {ident: '12345'}) SET p.color='dairy cow' RETURN p

Note that on the left you can switch from Graph to Table view.
Now what’s a graph database without relationships, so let’s add Lilly’s long departed brother cut down in his youth by a passing car (oh this is getting morbid).
CREATE (p:Pet {ident: '67890', petType: 'cat', name: 'Kitty', age: 4, continenceLevel: 'good’', needle: 'Not needed', color:'dairy cow' , status: 'sad'}) RETURN p
And for the relationship:
MATCH (p1:Pet {ident: '67890'}) MATCH (p2:Pet {ident: '12345'}) MERGE (p1)-[:IS_BROTHER]->(p2) RETURN p1,p2

And oh by the way, at any point to return all the nodes:
MATCH (p:Pet) RETURN p
That's the basics. There's more to come with WHERE clauses, regex and Node.js.