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

How about supporting graph analysis? #756

Open
1 task done
sharefantasy opened this issue Jun 4, 2020 · 7 comments
Open
1 task done

How about supporting graph analysis? #756

sharefantasy opened this issue Jun 4, 2020 · 7 comments

Comments

@sharefantasy
Copy link

@sharefantasy sharefantasy commented Jun 4, 2020

Brief Abstract

How about using some kind of graph analyzer to support note manangement

Long Description

I'm interested in using some kind of brain dump style to write notes, and tagging it by instinct. Then I'll use org-roam-server to review the entire graph and fix some links, do some clustering manually. It should be difficult to continue this workflow after the entire diagram grows larger and more complex.

Proposed Implementation (if any)

how about neo4j?

Please check the following:

  • No similar feature requests
@alan-carroll
Copy link

@alan-carroll alan-carroll commented Jun 4, 2020

You are not alone in graph analysis! Check out the discourse topics if you haven't already: https://org-roam.discourse.group/c/dev/graph/8

While I can't speak for everyone, obviously, I think the sheer practicality of sqlite compared to neo4j means it is here to stay. Personally I also want a graph-based db, and I searched far and wide for something that could be the 'sqlite of graph databases' -- nothing came up for me.

Loading

@kennethbruskiewicz
Copy link

@kennethbruskiewicz kennethbruskiewicz commented Jun 4, 2020

@alan-carroll You can do graph analysis on table records. Graph databases use a list of tuples as a representation.

Also this would be cool. PageRank is an obvious choice of analysis to be done on Roam notes.

Loading

@alan-carroll
Copy link

@alan-carroll alan-carroll commented Jun 4, 2020

I just like the schema and query language. You can do everything in SQL, but I like writing eg. Cypher a lot more than SQL 😄

Loading

@sharefantasy
Copy link
Author

@sharefantasy sharefantasy commented Jun 5, 2020

You are not alone in graph analysis! Check out the discourse topics if you haven't already: https://org-roam.discourse.group/c/dev/graph/8

While I can't speak for everyone, obviously, I think the sheer practicality of sqlite compared to neo4j means it is here to stay. Personally I also want a graph-based db, and I searched far and wide for something that could be the 'sqlite of graph databases' -- nothing came up for me.

Hey! Thank you for that discourse! I haven't participate in it yet.

Well, I can't find an opensource file-base graph db at present. all the existing choices are for big companies with commercial usage. Sqlite is irreplaceable at the moment, maybe a cypher syntax import and export function will be much more practical.

Loading

@sharefantasy
Copy link
Author

@sharefantasy sharefantasy commented Jun 5, 2020

@alan-carroll You can do graph analysis on table records. Graph databases use a list of tuples as a representation.

Also this would be cool. PageRank is an obvious choice of analysis to be done on Roam notes.

SQL is good but it has its limit on multiple foreign key relation chains. Roam notes are naturally graphs. So it's better to use graph language to describe and extend.

Loading

@zaeph zaeph added the 2. graph label Jun 9, 2020
@tbsexton
Copy link

@tbsexton tbsexton commented Jun 15, 2020

I might suggest Redis Graph; it's lighter weight, and utilizes cypher as well, in case anyone wishes to transition to e.g. Neo4J down the line.

Also, the analytics can be easily done redis-side, since it's built on the incredibly efficient graphBLAS (sparse matrix Lin. Algebra).

Edit: I forgot, the new version now includes full text-search within the graph, which is obviously of use here.

Loading

@sharefantasy
Copy link
Author

@sharefantasy sharefantasy commented Jun 18, 2020

I might suggest Redis Graph; it's lighter weight, and utilizes cypher as well, in case anyone wishes to transition to e.g. Neo4J down the line.

Also, the analytics can be easily done redis-side, since it's built on the incredibly efficient graphBLAS (sparse matrix Lin. Algebra).

Edit: I forgot, the new version now includes full text-search within the graph, which is obviously of use here.

Full-text search is a big merit. I'm thinking about introducing ElasticSearch as well, but it looks rather overwhelmed.

Loading

@jethrokuan jethrokuan added this to Backlog in Org-roam Jul 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Org-roam
Backlog
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants