GithubHelp home page GithubHelp logo

memgraph / documentation Goto Github PK

View Code? Open in Web Editor NEW
10.0 5.0 6.0 50 MB

The official documentation for Memgraph open-source graph database.

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

License: MIT License

CSS 0.21% TypeScript 0.35% JavaScript 4.33% MDX 95.11%
documentation graph-database memgraph

documentation's Introduction

Discord Stack Overflow

memgraph-docs

This repository contains the source files and various generators for the Memgraph documentation available at memgraph.com/docs.

🛠️ Run docs locally

To run the documentation website locally, you will need to install:

  • Node.js version >= 16.0.0 or above (which can be checked by running node -v). You can use nvm for managing multiple Node versions on a single machine installed.
  • pnpm

Run the development server

To preview your changes as you edit the files, you can run a local development server that will serve your website and reflect the latest changes.

First install node and pnpm. After that, clone this repository:

git clone https://github.com/memgraph/documentation.git

Change the working directory to the one of the cloned repository and install the dependencies:

pnpm i

Now, you can start the server:

pnpm dev

Open the URL http://localhost:3000/docs in your browser.

🚧 Build

Install the dependencies:

pnpm i

Build the website:

pnpm build

Contents will be generated within the /build directory.

Test your build locally:

pnpm start

✍️ Contribute

We are grateful for any community contributions to the documentation, as they are the best way of improving the overall user experience. If at any point you believe that something is misleading, could be worded better, or is missing additional information, then please feel free to make a pull request or report an issue.

Contributing guide

If you want to change the documentation, create a new branch and make the appropriate changes. Then, create a pull request to merge these changes into the main branch.

The pull request should describe the changes it's proposing and all checks must be completed.

Add an appropriate label to the PR, either status: draft if you are still working on the PR, or status: ready if the PR is ready for review.

When the PR is reviewed and approved, the label will be changed to status: ship it and merged into the main by the repo admins.

If the PR requires changes, the label will be changed to status: change. Address the comments and change the documentation appropriately, then re-request a review and change the label to status: ready again.

documentation's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

documentation's Issues

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.

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

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.

Update docs styling

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

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 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

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.

Force light mode

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

Add the logo

We need to add the Memgraph logo to the navbar.

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.

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 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.

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.