Glossary

Definitions of the graph, Cypher, data science, GenAI and driver terms used across Neo4j GraphAcademy, each linked to the lessons that teach it.

Aura

Aura
Neo4j's fully managed cloud service.
Aura Graph Analytics
The Aura service that runs graph algorithms in a separate session, with no plugin to install.
Aura Graph Analytics session
A managed, temporary compute environment that holds a projection and runs algorithms against it.
Aura instance
A single Neo4j database running in Aura.
AuraDB
The Aura product for transactional workloads.
AuraDS
The Aura product for data science workloads, with the Graph Data Science library installed.
implicit session
An Aura Graph Analytics session created together with its projection, in a single call.
standalone session
An Aura Graph Analytics session attached to no AuraDB instance, projecting instead from data you supply.

Cypher

aggregation
Grouping rows and computing a value over each group. In Cypher the grouping keys are whatever expressions in the same clause are not aggregated.
constraint
A rule the database enforces on every node or relationship with a given label or type, rejecting any write that breaks it.
Cypher
Neo4j's implementation of GQL, the ISO standard query language for graph databases. It is declarative: you describe the pattern to find, and the database decides how to find it.
index
A structure over a property. The database reads it to find nodes or relationships by property value, rather than scanning every one.
pattern
A graph structure written in Cypher, such as a node joined to another node by a relationship.
pattern matching
Finding every part of the graph that fits a given pattern.
unique constraint
A constraint that permits only one node or relationship with a given property value for its label or type.

Data modeling

data model
The labels, relationship types and properties chosen to represent a domain.
instance model
A data model drawn with real example data, showing particular nodes and relationships rather than their types.
intermediate node
A node introduced to act as an intermediate step between two or more other nodes, or to carry properties that a single relationship cannot.
refactoring
Changing the structure of a graph without changing what it represents, usually to make queries simpler, faster or more logical.

Drivers

driver
The client library an application uses to connect to Neo4j and run Cypher.
read transaction
A transaction that only reads, and so can be routed to any member of a cluster.
transaction
A unit of work that either succeeds in full or leaves no trace.
transaction function
A function the driver runs inside a transaction it manages, retrying it when a failure was transient.
write transaction
A transaction that changes data, and so is routed to the leader of a cluster.

GenAI and GraphRAG

embedding
Information represented as a numerical vector, positioned so that similar information sits close together.
generative AI
Models that produce new content rather than classifying or scoring content that already exists.
GraphRAG
Retrieval-augmented generation whose context comes from a knowledge graph, so the model can follow the relationships between facts.
hallucination
A false statement made confidently by a language model.
knowledge graph
A graph of entities and the relationships between them, used as a source of facts.
large language model
A model trained on text to predict the next token, and so to generate language.
prompt
The text given to a language model to produce a response.
retrieval-augmented generation
Fetching relevant context from an external data source as additional context to inform a language model's response.
retriever
A component that searches a data source and returns the information relevant to a query. Often used to provide context for a language model.
temperature
A number that sets how strongly a language model favours its highest-scoring next word. Low values keep it on the favourite, high values make it more likely to choose from words with lower scores.
text chunk
A piece of a larger document, small enough for a model to process and specific enough to be worth retrieving on its own.
vector
An ordered list of numbers. Distance between two vectors measures how alike the things they represent are.
vector index
A structure over a vector property. The database searches it to find the vectors nearest a given one, rather than comparing every vector stored.
vector search
Finding the records whose vectors lie closest to a query vector.

Graph Data Science

betweenness centrality
A score for each node equal to how often it lies on the shortest paths between other nodes.
centrality
How important a node is within a graph. Each centrality algorithm defines importance differently.
community detection
A family of algorithms that group nodes by how they connect. Each algorithm defines a community differently.
Cypher projection
A projection built from the rows a Cypher query returns, so it can hold nodes and relationships that are derived rather than stored.
degree centrality
A score for each node equal to its number of outgoing relationships.
Dijkstra's algorithm
An algorithm that finds the cheapest route between two nodes.
execution mode
How a GDS algorithm returns its results. One of stats, stream, mutate, write or estimate.
FastRP
A node embedding algorithm, short for Fast Random Projection. It builds each node's vector by combining random vectors drawn from the nodes around it.
graph catalog
The set of projections currently held in memory, each listed and dropped by name.
graph data science
Analysing data through the structure of its connections. Also the name of the Neo4j library that implements it.
Louvain algorithm
A community detection algorithm that repeatedly merges nodes into groups for as long as merging raises modularity.
modularity
A score for how much more densely connected the nodes within a group are than they would be by chance.
native projection
A projection built by naming node labels and relationship types directly, without a Cypher query.
node embedding
A list of numbers that stands in for a node's position in the graph, so that nodes in similar positions get similar lists.
node similarity
An algorithm that scores how alike two nodes are by comparing the neighbours they share.
PageRank
A centrality algorithm that scores a node by the number of nodes pointing at it and by how important those nodes are.
pathfinding
A family of algorithms that find routes through a graph. What counts as the best route differs by algorithm.
projection
An in-memory copy of part of your database that graph algorithms run against. You choose which nodes and relationships it holds.
relationship aggregation
Collapsing the parallel relationships between two nodes into one during projection, usually carrying their count or sum as its weight.
Union-Find
The algorithm underlying Weakly Connected Components. It holds each node in a set, and merges two sets whenever a relationship joins them.
weakly connected components
Groups of nodes in which every node is reachable from every other, once relationship direction is ignored. The GDS algorithm that finds them takes the same name.
Yen's algorithm
An algorithm that finds the k cheapest routes between two nodes, rather than only the cheapest.

Graphs

bipartite graph
A graph with two kinds of node, where every relationship joins one kind to the other and never two of the same kind.
directed relationship
A relationship that runs one way, from its start node to its end node. Every relationship Neo4j stores is directed.
graph
A set of vertices, with edges joining pairs of them. Neo4j calls vertices nodes and edges relationships.
heterogeneous graph
A graph that holds more than one node label or more than one relationship type.
label
A tag on a node that groups it with other nodes of the same kind. A node can carry more than one.
monopartite graph
A graph in which every node is the same kind of thing, so relationships connect like to like.
multipartite graph
A graph with three or more kinds of node, where relationships only ever join nodes of different kinds.
node
A vertex in a graph. In a property graph it can carry labels and properties.
path
A sequence of nodes joined by relationships.
property
A named value stored on a node or a relationship.
property graph
The data model Neo4j implements, in which nodes and relationships both carry properties as well as labels and types.
relationship
A named, directed connection between two nodes. Every relationship has a type, a start node and an end node.
traversal
Following relationships from one node to the next to reach other parts of a graph.
undirected relationship
A relationship with no direction. Neo4j GDS represents them as parallel relationships in opposite directions.
weighted graph
A graph whose relationships carry a numeric property that algorithms and queries can read as a cost or a strength.

Importing

Data Importer
The Neo4j tool for loading CSV files into a graph by mapping their columns onto nodes and relationships.
LOAD CSV
The Cypher clause that reads a CSV file row by row, so those rows can be written into the graph.