/GraphDb

A graph database written in C++ aiming performance.

Primary LanguageC++

GraphDb

A graph database written in C++ with boost graphs and based on index free adjacency. I'm currently studying a book about graph database to design the search engine.

If you interested about working on this project with me (or simply interested about graph databases in general), here is a free o'reilly book about it: http://graphdatabases.com/

Also, as i use the boost graph library, you might be interested about reading this book: http://books.google.fr/books/about/Boost_Graph_Library.html?id=CPi7g1hjyIYC&redir_esc=y

Which, of what i've seen so far, seems more clear and accurate than the online documentation.

One of my main final goal is to offer a server that can work on different kind of graph, depending on user's needs and a set of algorithm to apply on it.

TODO:

  • CRUD Core/Interface DB/DB:

    • Create a graph

    • Create a vertex

    • Create an edge

    • Name a vertex

    • Name an edge

    • Retrieve a graph

    • Retrieve a vertex

    • Retrieve an edg

    • Update a graph

    • Update a vertex

    • Update an edge

    • Delete a graph

    • Delete a vertex

    • Delete an edge

    • Defined attributes in vertex

    • Create a graph with different implementations (matrix, list etc)

  • Network

    • receive a message
    • write a message back
    • transfer to protocol
  • CRUD Protocol

    • text protocol
      • command parsing
      • command check
      • use interpretation
      • add interpretation
      • remove interpretation
      • dump
    • binary protocol
  • Dumpers

    • manager
    • graphviz
    • json
    • yaml
  • minimalistic client in python

    • send a query
    • parse query
    • check query
    • interpret the answer
  • Query a graph

  • with a specified algorithm