Announcing Memgraph 2.3 - Connect to Other Applications Stacks Fast

Announcing Memgraph 2.3 - Connect to Other Applications Stacks Fast

Marko Budiselic

Memgraph’s mission is to bring the power of graphs to every developer in the world. With this release, it’s possible to extend Memgraph functionalities even further and connect to Memgraph from more application stacks. By using the latest capabilities, you can solve more problems and ultimately build your applications faster.

User-defined functions

In this version, the Memgraph team added the ability to load custom functions written in C/C++, Python or Rust and callable from any Cypher expressions. Semantically, functions should be a small fragment of functionality that does not require long computations and large memory consumption. The only requirement for functions is not to modify the graph. Mentioned functionality offers flexibility in terms of nested calls within the Cypher.

You will be able to extend Memgraph by any function, but also, the Memgraph team is going to add many pre-defined functions as a part of the MAGE project. In addition to many off-the-shelf functions, you also can optimize performance because, e.g., precompiled C++ functions can massively increase filter expression speed, that’s most obvious for large filter expressions where filtering takes most of the time. The following piece of code is very simple filter expression but it can take a lot of execution time, as of today, it can be subsituted with higly optimized user-defined function.

time2 > time1 AND time3 > time2 AND time4 > time3 AND time5 > time4

Bolt over WebSocket

By implementing Bolt over WebSocket, Memgraph gained the ability to query Memgraph directly from a web browser or Memgraph Lab, which means excellent interoperability between Memgraph and the cloud environment. Furthermore, it’s also possible to connect and query Memgraph directly from WebAssembly clients because a WebSocket connection is required. The team migrated the whole communication stack to Boost Asio. It’s important to mention that Memgraph lost a bit of performance but only on use-cases where the throughput is high (e.g., ~6k+ query/s). On the other side, the new server will make our stack much more robust and cross-platform.

FOREACH clause

FOREACH is a procedural tool in the declarative (Cypher) environment. It helps to place logic as a part of the query, which means you can write more powerful queries. Also, the clause helps a lot if you don’t have the application environment in some procedural language, e.g. if you build your software in a minimal/no-code environment. The following is an example of a query containing the FOREACH clause.

MATCH p=(n1)-[*]->(n2)
FOREACH (n IN nodes(p) | REMOVE n.marked);


We haven’t spotted many bugs during the timeframe of this release. Ofc, there always has to be something. Memgraph had a bug in the query module loading code, which the team promptly eliminated!

Bright Future!

  • v2.4 will contain major bug fixes and incremental improvements
  • Memgraph splitting into multiple processes will come earliest in v2.5

Thanks for reading! For more details, check out our Changelog. Go and try it out! You can download the Memgraph 2.3 version from here.

If you spot any bugs or generally weird behavior, please drop us a line on our issues page and forum. And remember, if you need any kind of information about Memgraph, the documentation site will always be by your side. We also invite you to join our Discord Server and stay informed on everything Memgraph related!

Happy hacking!

In this article
Sign up for our Newsletter

Get a personalized Memgraph demo
and get your questions answered.

Read next

Memgraph and Graphlytic Joined Forces to Offer Real-Time Visualization

Graphlytic has introduced support for Memgraph DB and Memgraph Cloud which enables seamless connectivity between your Memgraph instance and any Graphlytic installation.

May 25, 2023
Nuix and Linkurious join Memgraph on the Gartner Data & Analytics Summit!

Meet the three companies at the Summit and dive into the Integrated Link Analysis for unstructured data powered by AI, NLP and Graph Analytics.

Marko Srsan
May 18, 2023
Memgraph and Linkurious Partner to Provide Advanced Graph Visualization

Exciting news! Memgraph, the super-fast open-source graph database for streaming and a Neo4j alternative, is partnering with Linkurious, the expert in graph visualization and analytics solutions.

April 26, 2023