feat(core): add a string of OLAP algorithms by imbajin · Pull Request #1984 · apache/hugegraph

javeme

javeme

imbajin

github-advanced-security[bot]

javeme

javeme

* 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
Change-Id: I5cc3be846ff4536ebfba1f9bf54a0adda7409036
also improve error message cause reason

Change-Id: I15ea8dd651e01ff678a32f19efd3584cd20ffc10
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
Change-Id: I20b72ea0da673359e2bd21888010290efca81441
* 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
Change-Id: I8eaaeccaa0b23048a9d0f597080186c069b9799b
* 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-Id: I546682b19fb5a84a65dc2a3bd77d62b386722bfa

@houzhizhen @imbajin

Change-Id: If4faafc1a952186c17314c599f611f7ab6132b7b
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
Change-Id: I565602945a26c2a575baaa3f17d084b65399a009
call graph close instead of closeTx

Change-Id: I0e329280b067f34daec69c9b1b2b81a6cd3309bf
Change-Id: Iedbafa9a31ed3f5b3fb35ccb0c583ec0a0cfc6ac
* add parameter top to print the top result in job result
Change-Id: Ib24ede9c20bb2c23a3f06fe72c53be2342295fd4
Change-Id: I1b055130c75edce039a97822d9154e1214bc80c2
* 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
Change-Id: I01e402fc99669f53544279c752f81d886c6ce28f

@houzhizhen @imbajin

* add betweenness BetweennessCentralityAlgorithmV2
Change-Id: I35bc20698bf93002a530b95688cd0359a9154fdf
Change-Id: Id4fc070268d8957ef2764bffbb3c762d9c034a0d
* add StressCentralityAlgorithmV2
* add BfsTraverser and ClosenessCentralityAlgorithmV2
…nce is parent.distance() + 1 (#69)
Change-Id: Ibf0f415ee6bd9cf0ff8b598e2166cc70667c49b7
Change-Id: I843c595172d7b45b894d764bf859dec61a35c8b5
)

Change-Id: Ib2a9766e29708fa4fcbaec152f5c9e571c96a0a6

@imbajin

@imbajin