Open-source graph database, built for real-time streaming data, compatible with Neo4j.
cyphergraphgraph-algorithmsgraph-analysisgraph-databasekafkakafka-streamsnosqlopencypherstream-processingstreaming-data
28590aea53
Summary: This diff fixes the variable expand operator to work correctly then the start and destination nodes use the same symbol or when the destination symbol is an existing symbol. Previously, the variable expand operator produced paths that were both completely wrong (they shouldn't have been produced) and nonexistent (they didn't even exist in the storage). Invalid data was produced because of a wrong equality check that was introduced in D1703. This issue was reported externally and the supplied test case was: ``` CREATE (p1:Person {id: 1})-[:KNOWS]->(:Person {id: 2})-[:KNOWS]->(:Person {id: 3})-[:KNOWS]->(:Person {id: 4})-[:KNOWS]->(p1); MATCH path = (pers:Person {id: 3})-[:KNOWS*2]->(pers) RETURN path; ``` Also, tests have been added so the behavior remains correct. Reviewers: buda Reviewed By: buda Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D2793 |
||
---|---|---|
cmake | ||
config | ||
docs | ||
environment | ||
include | ||
libs | ||
query_modules | ||
release | ||
src | ||
tests | ||
tools | ||
.arcconfig | ||
.arclint | ||
.clang-format | ||
.clang-tidy | ||
.gdbinit | ||
.gitignore | ||
.ycm_extra_conf.py | ||
apollo_archives.py | ||
apollo_archives.yaml | ||
apollo_build.yaml | ||
CHANGELOG.md | ||
CMakeLists.txt | ||
Doxyfile | ||
Doxylogo.png | ||
init | ||
README.md |
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