A graph database as a Redis module
This is a maintenance release for RedisGraph 2.12
Update urgency: SECURITY
: There are security fixes in the release.
Security and privacy:
string.join
Bug fixes:
Improvements:
toString
supports list argument againThis is a maintenance release for RedisGraph 2.10
Update urgency: MODERATE
: Program an upgrade of the server, but it's not urgent.
Bug fixes:
Improvements:
toString
supports list argument againThis is the General Availability release of RedisGraph 2.12
2.12 will be the last major release of RedisGraph. We do not plan to release new features, but we will continue to release patches until January 31, 2025. You can read more about the end of life of RedisGraph here.
RedisGraph 2.12 introduces constraints, observability, new clauses, constructs, and functions, performance improvements, and bug fixes.
UNIQUE
constraint enforces the uniqueness of values of a given set of attributes for all nodes with a given label or for all edges with a given relationship-type.MANDATORY
constraint enforces the existence of given attributes for all nodes with a given label or for all edges with a given relationship-type.GRAPH.CONSTRAINT CREATE
and GRAPH.CONSTRAINT DROP
commands, as well as db.constraints()
procedure to list all graph constraintsGRAPH.INFO
command to retrieve information about currently running and waiting queries (GRAPH.INFO RunningQueries WaitingQueries
)telemetry{graph_name}
(e.g., using XREVRANGE telemetry{graph_name} + -
)CALL {...}
clause (call subquery)FOREACH
clause: feed the elements of a list to a sub-query comprised of updating clauses.*
)typeOf(expr)
- given a literal, an expression, an alias, a node's or a relationship's property - return its type: Map
, String
, Integer
, Boolean
, Float
, Node
, Edge
, List
, Path
, Point
, or Null
list.dedup(list)
- return a similar list after removing duplicate elementslist.insert(list, idx, val[, dups = TRUE])
- return a list after inserting a given value at a given indexlist.insertListElements(list, list2, idx[, dups = TRUE])
- return a list after inserting the elements of a second list at a given indexlist.remove(list, idx[, count = 1])
- return a list after removing a given number of consecutive elements, starting at a given indexlist.sort(list[, ascending = TRUE])
- return a list with similar elements, but sortedstring.join(strList[, delimiter = ''])
- return a concatenation of a list of strings using a given delimiterstring.matchRegEx(str, regex)
- given a string and a regular expression - return a list of all matches and matching regionsstring.replaceRegEx(str, regex, replacement)
- given a string and a regular expression - return a string after replacing each regex match with a given replacementCREATE INDEX
is now handled in the backgroundBug fixes (since 2.12-M01):
RETURN *
errors if only a path variable is in scopeRETURN *
outputWITH *
erases path variablesNotes:
This is the first Milestone of RedisGraph 2.12
Features:
UNIQUE
constraint enforces the uniqueness of values of a given set of attributes for all nodes with a given label or for all edges with a given relationship-type.MANDATORY
constraint enforces the existence of given attributes for all nodes with a given label or for all edges with a given relationship-type.db.constraints()
procedure to list all graph constraintsFOREACH
clause: feed the elements of a list to a sub-query comprised of updating clauses.*
)typeOf(expr)
- given a literal, an expression, an alias, a node's or a relationship's property - return its type: Map
, String
, Integer
, Boolean
, Float
, Node
, Edge
, List
, Path
, Point
, or Null
list.dedup(list)
- return a similar list after removing duplicate elementslist.insert(list, idx, val[, dups = TRUE])
- return a list after inserting a given value at a given indexlist.insertListElements(list, list2, idx[, dups = TRUE])
- return a list after inserting the elements of a second list at a given indexlist.remove(list, idx[, count = 1])
- return a list after removing a given number of consecutive elements, starting at a given indexlist.sort(list[, ascending = TRUE])
- return a list with similar elements, but sortedstring.join(strList[, delimiter = ''])
- return a concatenation of a list of strings using a given delimiterstring.matchRegEx(str, regex)
- given a string and a regular expression - return a list of all matches and matching regionsstring.replaceRegEx(str, regex, replacement)
- given a string and a regular expression - return a string after replacing each regex match with a given replacementCREATE INDEX
is now handled in the backgroundPerformance enhancements (since 2.10.10)
indegree
and outdegree
Bug fixes (since 2.10.10)
DELETE
clausesCREATE
or MERGE
Notes:
This is a maintenance release for RedisGraph 2.10
Update urgency: MODERATE
: Program an upgrade of the server, but it's not urgent.
Bug fixes:
UNION
clause sets or modifies an indexed propertyMATCH
clauses where label filters are used (MOD-5093)WITH n MATCH (n:X)
are ignoredThis is a maintenance release for RedisGraph 2.8
Update urgency: HIGH
: There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
WITH *
expressionsCASE
expressions (MOD-4873)*0
variable-length path (MOD-4817)This is a maintenance release for RedisGraph 2.10
Update urgency: HIGH
: There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
WITH *
expressionsCASE
expressions (MOD-4873)*0
variable-length path (MOD-4817)