Open-source graph database, built for real-time streaming data, compatible with Neo4j.
Go to file
Marin Tomic 6894e2aef8 Distributed BFS filter lambda
Summary:
TODO:

~~1. Figure out how to propagate exceptions during lambda evaluation to master.~~

~~2. Make some more complicated test cases to see if everything is~~
~~sent over the network properly (lambdas depending on frame, evaluation context).~~

~~3. Support only `GraphView::OLD`.~~

4. [MAYBE] Send only parts of the frame necessary for lambda evaluation.

~~5. Fix EdgeType handling~~

--------------------

Serialize frame and send it in PrepareForExpand RPC

Move Lambda out of ExpandVariable

Send symbol table and filter lambda in CreateBfsSubcursor RPC

Evaluate filter lambda during the expansion

Send evaluation context in CreateBfsSubcursor RPC

Reviewers: teon.banek, msantl

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1600
2018-10-01 11:00:14 +02:00
cmake Generate Load functions from LCP as top level 2018-09-28 10:34:20 +02:00
config Implement full durability mode 2018-08-29 16:05:07 +02:00
customers Implement manage script for card fraud demo 2018-02-12 13:29:12 +01:00
docs Fix naming conventions in user_technical 2018-09-28 11:40:32 +02:00
experimental Integrate code coverage with Apollo 2018-01-15 12:20:11 +01:00
libs Initial implementation of authentication 2018-07-27 13:08:17 +02:00
poc Clean utils folder (namespaces, function names) 2018-04-22 09:44:32 +02:00
release Install openssl inside docker, update order of sections in the documentation 2018-06-22 18:44:11 +02:00
src Distributed BFS filter lambda 2018-10-01 11:00:14 +02:00
tests Distributed BFS filter lambda 2018-10-01 11:00:14 +02:00
tools Generate Load functions from LCP as top level 2018-09-28 10:34:20 +02:00
.arcconfig arcconfig: Default to master for diff and land 2017-11-07 18:41:51 +01:00
.clang-format Edges data structure now supports multiple edge filtering (implicit OR) 2017-09-26 13:46:18 +02:00
.gdbinit Add pretty printer to gdb for TypedValue 2017-08-16 11:32:25 +02:00
.gitignore Remove wrongly committed files 2018-09-18 18:16:59 +02:00
.ycm_extra_conf.py Add kafka library and integrate it into memgraph 2018-07-06 15:52:23 +02:00
apollo_archives.py Refactor Apollo build projects 2018-03-27 13:47:18 +02:00
apollo_archives.yaml Refactor Apollo build projects 2018-03-27 13:47:18 +02:00
apollo_build.yaml Add kafka benchmark 2018-08-29 16:35:31 +02:00
CHANGELOG.md Add EXPLAIN to openCypher 2018-08-23 14:05:32 +02:00
CMakeLists.txt Remove Boost from CMakeLists.txt 2018-09-27 15:16:40 +02:00
Doxyfile Add initial version of Apollo config files 2018-01-10 14:46:10 +01:00
Doxylogo.png Doxygen setup 2016-12-20 15:49:52 +01:00
init Integrate driver tests with Apollo 2018-08-22 18:31:37 +02:00
README.md Migrate command line args to gflgs in tests 2017-07-06 13:54:12 +02:00

memgraph

Memgraph is an ACID compliant high performance transactional distributed in-memory graph database featuring runtime native query compiling, lock free data structures, multi-version concurrency control and asynchronous IO.

dependencies

Memgraph can be compiled using any modern c++ compiler. It mostly relies on the standard template library, however, some things do require external libraries.

Some code contains linux-specific libraries and the build is only supported on a 64 bit linux kernel.

  • linux
  • clang 3.8 (good c++11 support, especially lock free atomics)
  • antlr (compiler frontend)
  • cppitertools
  • fmt format
  • google benchmark
  • google test
  • glog
  • gflags