Open-source graph database, built for real-time streaming data, compatible with Neo4j.
Go to file
Teon Banek 4601f6c368 Add filtering BFS by edge type
Summary:
Antlr grammar has been updated to support putting edge types after the BFS
symbol. Planner collects edge type filters for BFS and inlines them in the
operator by joining the filter with the user input BFS filter itself. This
requires no change from the standpoint of the operator. On the other hand, in
order to use the faster lookup by a single edge type, `ExpandBreadthFirst`
operator now accept an optional edge type. The edge type is passed from the
planner only if the user is filtering by a single type.

Unit tests as well as tck have been updated.

Reviewers: florijan, mislav.bradac

Reviewed By: florijan

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D777
2017-09-12 11:29:38 +02:00
cmake Make GNU Readline dependency optional 2017-03-24 12:42:45 +01:00
config Use 1 worker in benchmarks 2017-08-29 12:35:34 +02:00
docs Use \u for utf16 and \U for utf32 2017-09-09 16:16:30 +02:00
experimental Distributed Memgraph with Reactors (first queries) 2017-08-25 15:26:10 +02:00
libs Don't do commit on cherry-pick during fmt lib setup. 2017-09-09 17:52:20 +02:00
poc utils::auto_scope refactor 2017-08-11 09:43:10 +02:00
release Remove LOG_NO_STDOUT flag 2017-08-24 10:45:35 +02:00
src Add filtering BFS by edge type 2017-09-12 11:29:38 +02:00
tests Add filtering BFS by edge type 2017-09-12 11:29:38 +02:00
tools Harness MATCH tests refactored 2017-09-07 12:05:05 +02:00
.arcconfig Set arc.land.onto.default to dev 2017-03-03 13:33:45 +01:00
.clang-format Query - LogicalOp - visitable bug fix 2017-03-22 14:14:01 +01:00
.gdbinit Add pretty printer to gdb for TypedValue 2017-08-16 11:32:25 +02:00
.gitignore Removed Double Locking, Simplified Ownership or LocalEventStream, .... 2017-08-04 17:58:22 +02:00
.ycm_extra_conf.py Adding callback by type (Work in Progress) 2017-08-08 15:56:49 +02:00
CHANGELOG.md Use \u for utf16 and \U for utf32 2017-09-09 16:16:30 +02:00
CMakeLists.txt Inline filter inside ExpandVariable 2017-08-30 16:23:16 +02:00
coverage Silence ctest when running for coverage 2017-06-13 11:54:43 +02:00
Doxyfile Enable AUTOBRIEF for doxygen 2017-06-02 08:59:49 +02:00
Doxylogo.png Doxygen setup 2016-12-20 15:49:52 +01:00
format Migrate command line args to gflgs in tests 2017-07-06 13:54:12 +02:00
init Remove unnecessary requirements 2017-08-28 10:19:14 +02:00
install_neo NeoRunner + Harness bugfix 2017-07-29 17:46:24 +02:00
llvm-gcov memgraph coverage (lcov setup in progress...) 2017-03-07 18:27:03 +01: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