Open-source graph database, built for real-time streaming data, compatible with Neo4j.
Go to file
Boris Taševski c09b175c76
[E129-MG < T1006-MG] Expand C API with LBA checks (#527)
* [T1006-MG < T1017-MG] Add LBA checks to all read procedures in C API (#515)

* Initial Impl

* NextPermittedEdge introduced

* revert moving constructor to cpp

* edge from and edge to methods expanded with lba check

* minor fix

* added check to path expand procedure

* Added integration tests for read query procedures

* additional check

* changed iterator type to reference

* comments from pr

Co-authored-by: Josip Mrden <josip.mrden@memgraph.io>

* [T1006-MG < T1018-MG] Add LBA checks to all update procedures in C API (#516)

* Initial Impl

* NextPermittedEdge introduced

* revert moving constructor to cpp

* edge from and edge to methods expanded with lba check

* minor fix

* extended update methods

* added check to path expand procedure

* Added integration tests for read query procedures

* Added integration tests for update query modules

* additional check

* changed iterator type to reference

* fixed bug in Update property for node; fixed 2 e2e tests

* replaced enum

Co-authored-by: Josip Mrden <josip.mrden@memgraph.io>

* [T1006-MG < T1019-MG] Add LBA checks to all Create and Delete procedures in C API (#517)

* Initial Impl

* NextPermittedEdge introduced

* revert moving constructor to cpp

* edge from and edge to methods expanded with lba check

* minor fix

* extended update methods

* initial implementation

* added check to path expand procedure

* Added integration tests for read query procedures

* Added integration tests for update query modules

* Added unit tests for creation of vertex, adding and removing vertex label

* additional check

* changed iterator type to reference

* Added unit tests for create edge

* Corrected query module in create edge

* fixed bug in Update property for node; fixed 2 e2e tests

* fixed merge errors

* Expanded FineGrainedAuthChecker with HasGlobalPermissionOnVertices and HasGlobalPermissionOnEdges

* Removed two wrong checks; Added two global checks

* return null added

* introduced new mgp_error value

* fixed endless loop

* replaced enum

* intermediate

* tests updated

* PermissionDeniedError -> AuthorizationError rename

* rename in enum permission_denied error -> authorization error

* mgp_vertex_remove_label check improved

* quotes changed; order of imports fixed

* string constant introduced

* import fixed

* yaml format

Co-authored-by: Josip Mrden <josip.mrden@memgraph.io>

Co-authored-by: Josip Mrden <josip.mrden@memgraph.io>
2022-09-08 17:48:34 +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 Create README file for CSV Import Tools (#493) 2022-08-11 16:10:36 +02:00
environment Improve error-prone OS setup (#428) 2022-07-13 17:48:01 +02:00
include [E129-MG < T1006-MG] Expand C API with LBA checks (#527) 2022-09-08 17:48:34 +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 [E129-MG < T1006-MG] Expand C API with LBA checks (#527) 2022-09-08 17:48:34 +02:00
src [E129-MG < T1006-MG] Expand C API with LBA checks (#527) 2022-09-08 17:48:34 +02:00
tests [E129-MG < T1006-MG] Expand C API with LBA checks (#527) 2022-09-08 17:48:34 +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