feat(core): add a string of OLAP algorithms by imbajin · Pull Request #1984 · apache/hugegraph
* add olap algo api * improve source filter * fix louvain shaking with limit degree * catch exception for lpa and louvain * add 3 params for lpa: label,source_label,percision * improve louvain node store * remove vertices from class Community * move showCommunity to AbstractCommAlgorithm * add some parameters to AbstractAlgorithm * improve louvain log * improve clearPass and communities check * split louvain cache * fix degreeCentrality bug: degree is always < 500 Change-Id: I2341b981dab44f43ac50ae0f8fa5e51b7acc1b5a
* improve * move c_label to lower layer and add appendRow(value) * add community limit 100w for louvain * improve louvain log * fix louvain bug Change-Id: I886ac3e7a3f0dfd49e66fdf544f97f6f7db615df
network10000 dataset test:
before after
(depth=4 sample=1) 395s 25s
(depth=3 sample=2) 4300s 35s
same as the closeness_centrality
Change-Id: Ia0c557434bf25f9d13a0b1dc19f66024e08c89df
* add modularity parameter for louvain * fix: louvain lost isolated community from one to next pass Change-Id: I6a7dadc80635429aa2898939aa337aae01bc8d12
* optimize louvain by multi threads * implement louvain threads * fix race condition * implement merge community by multi threads * remove debug info * fix genId race condition * compatible with serial and parallel computing * support parallel lpa * support parallel: Louvain,LPA,Rings,K-Core,Fusiform Change-Id: I2425d1da58581ea7a61dce72a88355ae3d2dd610
* support rings count for rings-detect ap algo * fix direction can't be null or Both for triangle and clusterCoeffcient * fix source_clabel error for rings-detect, fusiform and kcore * change limit meaning for fusiform similarity Change-Id: I5a4ccbf46b47c13ea2eafe7f3e335dc6aea4a83c
change log: 1. add BOTH direction support for triangle_count/cluster_coeffcientith. 2. fix extra triangle count with multi edges between tow adjacent vertices. 3. set default value of direction to BOTH for degree_centrality and cluster_coeffcient . 4. add workers for triangle_count and cluster_coeffcient. 5. fix closeness: multi shortest paths cause results illogical. 6. rename rings_detect to rings, rename limit to each_limit which means limit number of rings of each source vertex, and don't do dedup if passed each_limit > 0. 7. unify top for 4 centrality algos: sorted results when top = -1, unsorted results when top = 0. 8. fusiform: rename top to top_similars (expected >= 0). 9. fusiform/rings: add limit param which means max number of results, and remove capacity param and hardcode to 100000000. Change-Id: I9ddf8553e6d86b99adbff8b972890d69d623fa1a
* improve betweeness by remove boundary vertex of path Change-Id: I76924daf8d9da113ab7a1aeac536c6080eccb296 * add with_boundary parameter for betweeness also fix lpa count comms with limit Change-Id: Iaf675cd87a8dc0b5ef75476144bc8141f2dd4385
…nce is parent.distance() + 1 (#69)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters