GithubHelp home page GithubHelp logo

memgraph / documentation Goto Github PK

View Code? Open in Web Editor NEW
9.0 9.0 5.0 49.53 MB

The official documentation for Memgraph open-source graph database.

Home Page: https://memgraph.com/docs

License: MIT License

CSS 0.19% TypeScript 0.30% JavaScript 4.55% MDX 94.96%
documentation graph-database memgraph

documentation's Introduction


license license license

Discord

๐Ÿ“‹ Description

Memgraph is an open source graph database built for real-time streaming and compatible with Neo4j. Whether you're a developer or a data scientist with interconnected data, Memgraph will get you the immediate actionable insights fast.

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 youโ€™re getting the best possible performance consistently and without surprises. Itโ€™s also ACID-compliant and highly available.

โšก Features

  • Custom query modules - Run Python, Rust, and C/C++ code natively; check out the MAGE graph algorithm library.
  • Deep-path traversals - Use advanced capabilities such as accumulators and path filtering without adding additional application logic.
  • Native support for machine learning
  • Streaming support & dynamic algorithms
  • Multi-tenancy
  • High availability replication
  • Authentication & authorization
  • Role-based and label-based access control
  • Monitoring via HTTP server

๐ŸŽฎ 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 macOS

Linux

Linux Debian Ubuntu Cent OS Fedora RedHat

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

โ˜๏ธ Memgraph Cloud

Check out Memgraph Cloud - a cloud service fully managed on AWS and available in 6 geographic regions around the world. Memgraph Cloud allows you to create projects with Enterprise instances of MemgraphDB from your browser.

Memgraph Cloud

๐Ÿ”— Connect to Memgraph

Connect to the database using Memgraph Lab, mgconsole, various drivers (Python, C/C++ and others) and WebSocket.

๐Ÿ”ฌ Memgraph Lab

Visualize graphs and play with queries to understand your data. Memgraph Lab is a user interface that helps you explore and manipulate the data stored in Memgraph. Visualize graphs, execute ad hoc queries, and optimize their performance.

Memgraph Cloud

๐Ÿ“ Import data

Import data into Memgraph using Kafka, RedPanda or Pulsar streams, CSV and JSON files, or Cypher commands.

๐Ÿ“‘ Documentation

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

โ“ Configuration

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

๐Ÿ† Contributing

Welcome to the heart of Memgraph development! We're on a mission to supercharge Memgraph, making it faster, more user-friendly, and even more powerful. We owe a big thanks to our fantastic community of contributors who help us fix bugs and bring incredible improvements to life. If you're passionate about databases and open source, here's your chance to make a difference!

Compile from Source

Learn how to download, compile and run Memgraph from source with the Quick Start guide.

Explore Memgraph Internals

Interested in the nuts and bolts of Memgraph? Our internals documentation is where you can uncover the inner workings of Memgraph's architecture, learn how to build the project from scratch, and discover the secrets of effective contributions. Dive deep into the database!

Dive into the Contributing Guide

Ready to jump into the action? Explore our contributing guide to get the inside scoop on how we develop Memgraph. It's your roadmap for suggesting bug fixes and enhancements. Contribute your skills and ideas!

Code of Conduct

Our commitment to a respectful and professional community is unwavering. Every participant in Memgraph is expected to adhere to a stringent Code of Conduct. Please carefully review the complete text to gain a comprehensive understanding of the behaviors that are both expected and explicitly prohibited.

We maintain a zero-tolerance policy towards any violations. Our shared commitment to this Code of Conduct ensures that Memgraph remains a place where integrity and excellence are paramount.

๐Ÿ“œ License

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

๐Ÿ‘ฅ Community

Back to top

documentation's People

Contributors

antaljanosbenjamin avatar antejavor avatar antepusic avatar antoniofilipovic avatar as51340 avatar cizl avatar darych avatar davivek avatar gitbuda avatar gvolfing avatar imilinovic avatar jchvz avatar josipmrden avatar katarinasupe avatar kgolubic avatar matea16 avatar post2web avatar tonilastre avatar vpavicic avatar xxxuuu avatar yashasvimantha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

documentation's Issues

Force light mode

We need to force the light mode until we have the dark mode ready.

Change navigation features

We need to:

  1. Make the main menu start as a collapsed
  2. Remove previous/next pages links
  3. Temporarily disable Question? Give us feedback and Edit this page links

Check for broken links

Now that all of the content has been migrated from Docusarus we need to check if there are any broken links.

Add the info about subgraphs

Please check which algorithms donโ€™t have this information:

image

Add the same information to algorithms with this info to the new docs, and link appropriately.
Also ask Fiฤ‡o if collections and map, llm_util, text, date, label algorithms can also be run on subgraphs

Update docs styling

We need to update CSS code so that the syle is aligned with the proposed Figma design.

Girvan-Newman algorithm for community detection, networkx.guide

When I was doing my final project at university on topic: centrality and community detection algorithms, I came across this article: https://networkx.guide/algorithms/community-detection/girvan-newman/ .I found the above article very confusing because of this pseudocode part:

REPEAT
    LET n BE number of edges in the graph
    FOR i=0 to n-1
        LET B[i] BE betweenness centrality of edge i
        IF B[i] > max_B THEN
            max_B = B[i]
            max_B_edge = i
        ENDIF
    ENDFOR
    remove edge i from graph
UNTIL number of edges in graph is 0

I understood this in the way that the algorithm removes edges until number of edges in graph is 0, that would mean that at the end every node in graph will be its own community. After i looked source code of Networkx, I found that this is correct, but also incomplete. This is their implementation:

while g.number_of_edges() > 0:
        yield _without_most_central_edges(g, most_valuable_edge)

def _without_most_central_edges(G, most_valuable_edge):
    original_num_components = nx.number_connected_components(G)
    num_new_components = original_num_components
    while num_new_components <= original_num_components:
        edge = most_valuable_edge(G)
        G.remove_edge(*edge)
        new_components = tuple(nx.connected_components(G))
        num_new_components = len(new_components)
    return new_components

So every time new community is found, algorithm will "save it", it won't return just a case where every node is its own community.
Although this is mentioned in the "Method output" part of the article, I found this pseudocode very confusing and incomplete.
Also, example with illustration of a graph with nodes A, B, C, D, E and F at the begging of the article says that algorithm stops after removing edge that connects C and D, because we have come to the point where every edge has the same betweenness centrality. Based on Networkx implementation, algorithm won't stop after that. It will be just a sequence of communities at a particular level (iteration) of the algorithm.

Update docker commands where needed - replace -v mg_lib:/var/lib/memgraph with --name memgraph

We need to see in which documentation pages we need to update or rewrite docker commands that have -v mg_lib:/var/lib/memgraph. In some cases, this should be updated with --name memgraph.

Fox example, in pages\getting-started\first-steps-with-memgraph.mdx, we should update it, and in pages\getting-started\install-memgraph\docker.mdx: we should give additional explanations.

Adding sharp package for Image Optimization

We need to decide if we want to add shap package for image optimization.

ready - started server on 0.0.0.0:3000, url: http://localhost:3000
Warning: For production Image Optimization with Next.js, the optional 'sharp' package is strongly recommended. Run 'yarn add sharp', and Next.js will use it automatically for Image Optimization.
Read more: https://nextjs.org/docs/messages/sharp-missing-in-production

Add more contex on WITH in cypher manual

How the WITH is used can result in unbounded MATCHES, which slows down queries and intoduces peak memory usages etc.

Sample:

MATCH (x:..)
WITH x               /// x passed 
MATCH (y:....) // not using x
WITH x, y.         //x should be passed on multiple times until you use it again.
MATCH (z:...)
WITH x
MATCH (x) // the same x from the first match.

If you do not pass x multiple times, it will scan all nodes and run the last MATCH on multiple nodes, resulting in slow execution and big memory usage.

Add neighbors query module docs

Once the new MAGE is out, we need to add the docs for query-modules/cpp/neighbors. They are, at the moment, on the old docs site.

Add under the hood content about `SerializationError`

Buda will write a Notion file explaining the SerializationError, which can happen when importing data so that users better understand the concepts of deadlock and learn how to handle serialization errors on their side on write queries.

Add the logo

We need to add the Memgraph logo to the navbar.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.