Settings

Theme

Show HN: We designed and implemented graph projection feature

38 points by nito98 3 years ago · 7 comments (6 loaded) · 2 min read


Hi all! I'm one of the developers that were working on this project for some time. In recent months, users started to ask us more frequently about the ability to run algorithms on a part of graph stored in database - subgraph. Now to do this, we extended the implementation of C API we had and brought to you the graph project feature that enables running algorithms on a specific subset of a graph stored in the database.

You can now do graph analysis with PageRank, degree centrality, betweenness centrality, or any other algorithm on subgraphs without any additional adjustments. Before you had to create new query procedure. You can fire up a graph machine learning algorithm, such as Temporal graph networks and split the dataset inside the query to do training and validation without splitting the dataset programmatically. And last but not least, you can use your graphics card to run one of cuGraph's algorithms on subgraph in terms of seconds.

You can find the whole explanation in blog post [1] and you can checkout the code at Memgraph GitHub [2]. Furthermore you can check cuGraph's algorithms we have integrated [3]

I'd like to hear your feedback on our approach. Also if you have any general feedback, just write it in the comments :)

[1] https://memgraph.com/blog/how-we-designed-and-implemented-gr...

[2] https://github.com/memgraph/memgraph/

[3] https://memgraph.com/docs/mage/query-modules/cuda/cugraph

Dr_ReD 3 years ago

Interesting, but would you lay down some brief explanation of what graphs are? For us peones, please? :)

  • nito98OP 3 years ago

    Yes, sure no problem at all :)

    Graph represents a data structure which consists of finite set of nodes and edges which are connecting two nodes. Best example to think of graph is social network. There nodes represent people, and edges represent friendships, or follows. For example if I were to follow you and we want to represent it with graph, there would be two nodes (me and you) and edge from me as node to you as node.

    Hope it is clear :)

ensignavenger 3 years ago

Hmm, this project is falsely advertised as open source on its home page, but looking at the repo, it is under a source available license instead.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection