age icon indicating copy to clipboard operation
age copied to clipboard

Enhancement Request: Support for Community Detection Algorithm

Open AneeqaCodes opened this issue 1 year ago • 9 comments

As a user and developer exploring graph databases, I've been actively using Apache AGE and have found it to be a valuable tool for leveraging graph capabilities within PostgreSQL. However, I believe that enhancing Apache AGE with support for advanced community detection algorithms would significantly improve its analytical capabilities and usefulness for a wide range of applications.

AneeqaCodes avatar Apr 22 '24 17:04 AneeqaCodes

I agree. And even the false information in the community, when we combine the results with factors like patterns and quantities, maybe can create meaningful data.

ghostofstatus avatar Apr 23 '24 01:04 ghostofstatus

Love that Apache AGE already supports community detection with algorithms like Louvain! To make it even more powerful, exploring advanced algorithms like Spectral Clustering or Infomap could be a great next step.

AneeqaCodes avatar Apr 23 '24 04:04 AneeqaCodes

@AneeqaCodes Were you able to apply Louvain algorithm with Apache AGE? Could you share how you made this? 😁 Did you use any driver?

markgomer avatar Apr 23 '24 12:04 markgomer

@markgomer Actually I read a post on developer community that AGE supports Louvain and also I am working on this, so I will definitely share a file once I have done.

AneeqaCodes avatar Apr 23 '24 14:04 AneeqaCodes

Ok @AneeqaCodes! ^^ thank you for that!!

markgomer avatar Apr 23 '24 15:04 markgomer

@AneeqaCodes In the spectral clustering algorithm, there are minimum out and normalized out. The minimum out method is a function that divides the given data into each cluster by the smallest similarity value between them. However, because the process of finding the minimum value is performed, if a weight smaller than the sum of the weight values that classify the cluster in the ideal direction exists in the same cluster, the direction of classification will be incorrect. Based on algorithm complexity, it would be better to apply the infomap algorithm or the Girvan-Newman algorithm.

And currently, several community detection algorithms can be used using python, as 3rd party language, rather than the community detection algorithm implemented with openCypher in Apache Age.

Refer to the link below, it will be helpful. If you want to discuss, leave a comment. https://pypi.org/project/apache-age-community-detection/

gshwan22 avatar Apr 24 '24 02:04 gshwan22

Yes we can implement some Community Detection Algorithm with the help of python and I am also working on python for this purpose.

AneeqaCodes avatar Apr 24 '24 11:04 AneeqaCodes

@gshwan22, thank you for sharing this, I didn't know it existed. Shouldn't this be brought to be built in the python driver? 🤔

markgomer avatar Apr 24 '24 14:04 markgomer

This issue is stale because it has been open 60 days with no activity. Remove "Abondoned" label or comment or this will be closed in 14 days.

github-actions[bot] avatar Jun 24 '24 00:06 github-actions[bot]

This issue was closed because it has been stalled for further 14 days with no activity.

github-actions[bot] avatar Jul 09 '24 00:07 github-actions[bot]