Neo4j App

At neo4j.app, our mission is to provide a comprehensive resource for software engineers interested in learning about and utilizing the power of Neo4j graph database technology. We strive to offer high-quality content, tutorials, and resources that enable developers to build innovative and scalable applications using Neo4j. Our goal is to foster a vibrant community of Neo4j enthusiasts and empower them to create impactful solutions that drive business success.

Video Introduction Course Tutorial

/r/neo4j Yearly

Neo4j Cheatsheet

This cheatsheet is a reference guide for anyone getting started with Neo4j software engineering. It covers the basic concepts, topics, and categories related to Neo4j and provides a quick reference for common commands and queries.

Introduction

Neo4j is a graph database management system that is designed to store, manage, and query large amounts of data in a highly scalable and efficient manner. It is based on the concept of a graph, which is a collection of nodes and edges that represent entities and relationships between them.

Basic Concepts

Nodes

Nodes are the basic building blocks of a graph database. They represent entities such as people, places, or things and can have properties that describe them. Nodes are identified by a unique identifier called a node ID.

Edges

Edges are the connections between nodes in a graph database. They represent relationships between entities and can have properties that describe them. Edges are identified by a unique identifier called an edge ID.

Properties

Properties are key-value pairs that describe nodes and edges in a graph database. They can be used to store any type of data, including strings, numbers, and dates.

Labels

Labels are used to group nodes together based on their type or category. They can be used to perform queries on specific types of nodes.

Cypher

Cypher is a query language used to interact with Neo4j databases. It is a declarative language that allows users to specify what they want to retrieve from the database, rather than how to retrieve it.

Getting Started

Installation

To get started with Neo4j, you will need to install the software on your computer. You can download the latest version of Neo4j from the official website.

Starting the Server

Once you have installed Neo4j, you can start the server by running the following command:

neo4j start

This will start the Neo4j server and allow you to connect to it using the Neo4j browser.

Connecting to the Browser

To connect to the Neo4j browser, open your web browser and navigate to http://localhost:7474. This will open the Neo4j browser, which you can use to interact with the database.

Creating Nodes

To create a node in Neo4j, you can use the CREATE command followed by the node label and any properties you want to assign to the node. For example, to create a node with the label Person and the properties name and age, you would use the following command:

CREATE (:Person {name: 'John', age: 30})

Creating Edges

To create an edge between two nodes in Neo4j, you can use the MATCH command to find the nodes and the CREATE command to create the edge. For example, to create an edge between two nodes with the labels Person and Company, you would use the following command:

MATCH (p:Person), (c:Company)
WHERE p.name = 'John' AND c.name = 'Acme Inc.'
CREATE (p)-[:WORKS_FOR]->(c)

Querying Nodes

To query nodes in Neo4j, you can use the MATCH command followed by the node label and any properties you want to filter on. For example, to find all nodes with the label Person, you would use the following command:

MATCH (p:Person)
RETURN p

Querying Edges

To query edges in Neo4j, you can use the MATCH command followed by the edge label and any properties you want to filter on. For example, to find all edges with the label WORKS_FOR, you would use the following command:

MATCH ()-[e:WORKS_FOR]->()
RETURN e

Updating Nodes

To update a node in Neo4j, you can use the MATCH command to find the node and the SET command to update its properties. For example, to update the age property of a node with the label Person and the name John, you would use the following command:

MATCH (p:Person {name: 'John'})
SET p.age = 31

Deleting Nodes

To delete a node in Neo4j, you can use the MATCH command to find the node and the DELETE command to remove it. For example, to delete a node with the label Person and the name John, you would use the following command:

MATCH (p:Person {name: 'John'})
DELETE p

Deleting Edges

To delete an edge in Neo4j, you can use the MATCH command to find the edge and the DELETE command to remove it. For example, to delete an edge with the label WORKS_FOR, you would use the following command:

MATCH ()-[e:WORKS_FOR]->()
DELETE e

Conclusion

This cheatsheet provides a quick reference for basic concepts, topics, and categories related to Neo4j software engineering. It covers installation, starting the server, connecting to the browser, creating nodes and edges, querying nodes and edges, updating nodes, and deleting nodes and edges. With this cheatsheet, you should be able to get started with Neo4j and begin exploring the power of graph databases.

Common Terms, Definitions and Jargon

1. Neo4j: A graph database management system that allows users to store, manage, and query data in the form of nodes and relationships.
2. Graph database: A database that uses graph structures to store and represent data.
3. Node: A data point in a graph database that represents an entity or object.
4. Relationship: A connection between two nodes in a graph database that represents a link or association between them.
5. Property: A key-value pair that is associated with a node or relationship in a graph database.
6. Cypher: A query language used to interact with Neo4j databases.
7. Query: A request for information from a database.
8. Index: A data structure used to optimize queries by allowing faster access to specific data.
9. Label: A tag or category assigned to a node in a graph database.
10. Path: A sequence of nodes and relationships that connect two or more nodes in a graph database.
11. Graph theory: The study of graphs and their properties.
12. Graph algorithms: Algorithms designed to operate on graph data structures.
13. Community detection: The process of identifying groups or communities within a graph.
14. Centrality: A measure of the importance of a node or relationship in a graph.
15. PageRank: An algorithm used to rank web pages based on their importance.
16. Betweenness centrality: A measure of the importance of a node or relationship in a graph based on the number of shortest paths that pass through it.
17. Closeness centrality: A measure of the importance of a node in a graph based on its distance to other nodes.
18. Degree centrality: A measure of the importance of a node in a graph based on the number of connections it has.
19. Clustering coefficient: A measure of the degree to which nodes in a graph tend to cluster together.
20. Modularity: A measure of the degree to which a graph can be divided into communities.

Editor Recommended Sites

AI and Tech News
Best Online AI Courses
Classic Writing Analysis
Tears of the Kingdom Roleplay
LLM Model News: Large Language model news from across the internet. Learn the latest on llama, alpaca
New Programming Language: New programming languages, ratings and reviews, adoptions and package ecosystems
Fanfic: A fanfic writing page for the latest anime and stories
Learn AI Ops: AI operations for machine learning
Cloud Lakehouse: Lakehouse implementations for the cloud, the new evolution of datalakes. Data mesh tutorials