Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate Graph Database #166

Open
mingsterism opened this issue Aug 11, 2021 · 2 comments
Open

Integrate Graph Database #166

mingsterism opened this issue Aug 11, 2021 · 2 comments

Comments

@mingsterism
Copy link

mingsterism commented Aug 11, 2021

Would be interested to see how a graph database can assist GoDbLedger and offer unique queries and insights.
Given that all transactions have relationships, we can add metadata to each transaction in order to do analytics? The meta data should assist other systems to do automatic classification of expenses
These data would play well within a graph database.

It can be integrated as an add on database, something optional. and going through the message broker.

@darcys22
Copy link
Owner

Hi Mingsterism,

This is a super interesting concept and the database backend is already implemented as an interface to support both MySQL and Sqlite. So making a graph database backend would be as simple as implementing the interface defined here:

https://github.com/darcys22/godbledger/blob/master/godbledger/db/database.go

Would be very interesting to explore this idea further!

@mingsterism
Copy link
Author

mingsterism commented Aug 12, 2021

awesome. that's great. would take a look at that file and see if something can be done.
however, do you see any angles as to how a graphdb can add useful insights to an accouting ledger system? am curious to hear your thoughts.

my idea is that graph analytics can be done across all the transactions, and possibly to find unique relationships among them. but this requires more data within the database, like

  1. who created the transaction
  2. what is the classification of this transaction
  3. who approved the transaction.
    I'm not too sure if this data should be in godbledger or as a seperate system

Example analytics we can do with graph

  1. which employee in the company is spending the most
  2. Who is approving the expenses within the company. and who is making the requests

fundamentally a graph database makes sense only if there's multiple entities and relationships among the entities.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants