Open-source graph database, built for real-time streaming data, compatible with Neo4j.
Go to file
niko4299 e15576f56c
[E129-MG <-T0982-MG] implement edge type filtering (#489)
* GRANT, REVOKE, DENY and access_checker DONE

* Added AccessChecker to ExecutionContext

* grammar expanded; (#462)

* current

* T0954 mg expand user and role to hold permissions on labels (#465)

* added FineGrainedAccessPermissions class to model

* expanded user and role with fine grained access permissions

* fixed grammar

* [E129 < T0953-MG] GRANT, DENY, REVOKE added in interpreter and mainVisitor (#464)

* GRANT, DENY, REVOKE added in interpreter and mainVisitor

* Commented labelPermissons

* remove labelsPermission adding

* Fixed

* Removed extra lambda

* fixed

* [E129<-T0955-MG] Expand ExecutionContext with label related information (#467)

* added

* Added FineGrainedAccessChecker to Context

* fixed

* Added filtering

* testing

* Added edge filtering to storage, need to add filtering in simple Expand in operator.cpp

* Removed storage changes

* MATCH filtering working

* EdgeTypeFiltering working, just need to test everything again

* Removed FineGrainedAccessChecker

* Removed Expand Path

* Fix

* Tested FineGrainedAccessHandler, need to test AuthChecker

* Added integration test for lba

* Fixed merge conflicts

* PR fix

* fixed

* PR fix

* Fix test

* removed .vscode, .cache, .githooks

* githooks

* added tests

* fixed build

* Changed ast.lcp and User pointer to value in context.hpp

* Fixed test

* Remove denies on grant all

* AuthChecker

* Pr fix, auth_checker still not fixed

* Create mg-glue and extract UserBasedAuthChecker from AuthChecker

* Build fixed, need to fix test

* e2e tests

* e2e test working

* Added unit test, e2e and FineGrainedChecker

* Mege E129, auth_checker tests

* Fixed test

* e2e fix

Co-authored-by: Boris Taševski <36607228+BorisTasevski@users.noreply.github.com>
Co-authored-by: josipmrden <josip.mrden@external-basf.com>
Co-authored-by: János Benjamin Antal <benjamin.antal@memgraph.io>
2022-08-16 15:57:23 +02:00
.githooks Update precommit hooks (#393) 2022-05-11 21:07:04 +02:00
.github Merge old Label Based Auth Epic branch into new one because of commits with bad checks on the old epic branch (#478) 2022-08-02 12:51:22 +02:00
cmake Toolchain v4 with fbthrift (#318) 2022-01-18 12:51:27 +01:00
config Add default commented values for Bolt SSL flags (#398) 2022-05-18 08:34:07 +02:00
docs Remove docs/dev (migrated to Notion) (#84) 2021-01-26 20:08:40 +01:00
environment Improve error-prone OS setup (#428) 2022-07-13 17:48:01 +02:00
include Create mgp python package (#433) 2022-07-12 10:54:23 +02:00
libs Add parser stress test (#463) 2022-07-26 20:54:56 +02:00
licenses Update license year 2022-04-27 13:31:37 +02:00
query_modules Remove debug print (#251) 2021-10-07 09:14:05 +02:00
release Create mgp python package (#433) 2022-07-12 10:54:23 +02:00
src [E129-MG <-T0982-MG] implement edge type filtering (#489) 2022-08-16 15:57:23 +02:00
tests [E129-MG <-T0982-MG] implement edge type filtering (#489) 2022-08-16 15:57:23 +02:00
tools Resolve python dependency issues (#372) 2022-04-07 17:56:18 +02:00
.clang-format Increase column width (#91) 2021-02-12 16:58:55 +01:00
.clang-tidy Remove ref from std::string_view (#215) 2022-06-21 17:18:43 +03:00
.gdbinit Add pretty printer to gdb for TypedValue 2017-08-16 11:32:25 +02:00
.gitignore Reimplement counter openCypher function 2019-05-16 11:09:02 +02:00
.pre-commit-config.yaml Update precommit hooks (#393) 2022-05-11 21:07:04 +02:00
CHANGELOG.md CHANGELOG redirects to the docs page (#165) 2021-06-07 16:26:15 +02:00
CMakeLists.txt Implement Bolt over WebSocket with asio 2022-04-27 10:13:16 +02:00
CODE_OF_CONDUCT.md Add CONTRIBUTING and CODE_OF_CONDUCT (#269) 2021-10-12 14:11:07 +02:00
CONTRIBUTING.md Add CONTRIBUTING and CODE_OF_CONDUCT (#269) 2021-10-12 14:11:07 +02:00
Doxyfile Clean Memgraph repository (#12) 2020-10-21 18:56:15 +02:00
init Create mgp python package (#433) 2022-07-12 10:54:23 +02:00
LICENSE Add new memgraph licenses and move third party licenses (#248) 2021-10-03 12:26:48 +02:00
README.md Update README.md 2022-03-22 04:50:01 +01:00


Build modern, graph-based applications on top of your streaming data in minutes.

license license license

build

Discord

📋 Description

Memgraph is a streaming graph application platform that helps you wrangle your streaming data, build sophisticated models that you can query in real-time, and develop graph applications.

Memgraph directly connects to your streaming infrastructure. You can ingest data from sources like Kafka, SQL, or plain CSV files. Memgraph provides a standard interface to query your data with Cypher, a widely-used and declarative query language that is easy to write, understand and optimize for performance. This is achieved by using the property graph data model, which stores data in terms of objects, their attributes, and the relationships that connect them. This is a natural and effective way to model many real-world problems without relying on complex SQL schemas.

Memgraph is implemented in C/C++ and leverages an in-memory first architecture to ensure that youre getting the best possible performance consistently and without surprises. Its also ACID-compliant and highly available.

🎮 Memgraph Playground

You don't need to install anything to try out Memgraph. Check out our Memgraph Playground sandboxes in your browser.

Memgraph Playground

💾 Download & Install

Windows

Windows Windows

macOS

macOS

Linux

Linux Debian Ubuntu Cent
OS

You can find the binaries and Docker images on the Download Hub and the installation instructions in the official documentation.

Features

  • Run Python, Rust, and C/C++ code natively, check out the MAGE graph algorithm library
  • Native support for machine learning
  • Streaming support
  • Replication
  • Authentication and authorization
  • ACID compliance

📑 Documentation

The Memgraph documentation is available at memgraph.com/docs.

Configuration

Command line options that Memgraph accepts are available in the reference guide.

🏆 Contributing

The main purpose of this repository is to continue evolving Memgraph, making it faster and easier to use. Development of Memgraph happens in the open on GitHub, and we are grateful to the community for contributing bug fixes and improvements. Read below to learn how you can take part in improving Memgraph.

Code of Conduct

Memgraph has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Contributing Guide

Read our contributing guide to learn about our development process and how to propose bug fixes and improvements.

Internals

Read our internal docs to learn more about Memgraph's architecture, how to build the project from source and how to start contributing. All information related to the database, can be found in the aforementioned docs.

📜 License

Memgraph Community is available under the BSL license.
Memgraph Enterprise is available under the MEL license.

Back to top