Skip to content

What kind of backend data structures are needed for implementing a graph DB like this? #15

Answered by swilly22
micahscopes asked this question in Q&A
Discussion options

You must be logged in to vote

At the very beginning RedisGraph used a hexastore as its primary data structure for maintaining graph topology, using the Subject, Object, Predicate paradigm (SOP, SPO, OSP, OPS, POS, PSO). But I don't believe this is an optimal way (performance wise) of representing a property graph.

For the past years we're using GraphBLAS sparse matrices to store our graph structure, there are a number of different matrix "classes":

  1. Label matrices - For every label Li in the graph Label matrix Li[j,j] is set if node with ID j is associated with label Li
  2. Relation matrices - For every relationship-type Ri in the graph Relation matrix Ri[j,k] = x if there's an edge with ID x connecting nodes j to k.
  3. THE …

Replies: 1 comment 4 replies

Comment options

You must be logged in to vote
4 replies
@jasperblues
Comment options

@gkorland
Comment options

@micahscopes
Comment options

@gkorland
Comment options

Answer selected by swilly22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
question Further information is requested
4 participants