FalkorDB
Description
FalkorDB is a graph database on top of Redis which speaks Cypher. Hop connects to it over the Redis protocol with a graph database connection of the FalkorDB type, from the optional FalkorDB plugin.
A connection works with one graph: the graph name is one of its options. FalkorDB creates the graph when something is written to it.
Run FalkorDB in docker
docker run -p 6379:6379 -p 3000:3000 falkordb/falkordb
Port 3000 is the FalkorDB browser, to look at the graph.
What works
-
Graph query, including Return graph
-
Graph output, including the validation against the graph model and its indexes
-
Execution logging (
HOP_GRAPH_LOGGING_CONNECTION), the Get graph logging info transform and the Graph logging perspective -
The graph database location for execution information
What doesn’t work
-
The Graph constraint action: FalkorDB has no Cypher statements for constraints. Create them with the
GRAPH.CONSTRAINTcommand of FalkorDB. -
Transactions: every statement is committed on its own, so a failed batch doesn’t roll back the statements before it.
-
Neo4j import: use the FalkorDB bulk loader with the files of Generate graph CSVs instead.
Differences with Neo4j
-
FalkorDB has no multi-statement transactions: every statement is committed on its own.
-
There are no Cypher constraints and no
IF NOT EXISTS: the Graph constraint action isn’t supported. Indexes are unnamed and identified by their label and properties. -
Dates, times and binary values are passed to FalkorDB as ISO and Base64 strings.
-
Nodes, relationships and paths in the results come back like those of every other graph database, for example as a graph value with the Return graph option of the Graph query transform.