J'essaie d'extraire la taille des composants/Communauté utilisant ma base de données de Neo4j. Quelqu'un pourrait-il partager tout pointeur soit vers des fonctions intégrées ou séquence de commandes Cypher à l'aide que je peux extraire les tailles des composants/Communauté s'il vous plaît?Pointeurs sur l'extraction de la taille des composants ou taille de la collectivité sur Neo4j en utilisant Cypher?
0
A
Répondre
0
Vous pouvez essayer le plugin neo4j graph algorithms, qui contient des algorithmes, que vous pouvez appeler à l'aide Cypher. Vous venez de le télécharger et le copier dans le dossier /plugins
.
Ils prennent en charge (faiblement) les composants connectés. Vérifiez le documentation:
obtenir la taille des composants connectés.
CALL algo.unionFind.stream('User', 'FRIEND', {})
YIELD nodeId,setId
RETURN distinct(setId) as component, count(*) as component_size
Vous pouvez vérifier le nombre de composants fortement connectés, docs:
exemple:
CALL algo.scc('User','FOLLOW', {write:true,partitionProperty:'partition'})
YIELD loadMillis, computeMillis, writeMillis, setCount, maxSetSize, minSetSize
et recherche ensuite les résultats:
MATCH (u:User)
RETURN distinct(u.partition) as partition,count(*) as size_of_partition
ORDER by size_of_partition DESC LIMIT 20
Ils soutiennent également algorithmes de propagation d'étiquettes, docs.
exemple appel:
CALL algo.labelPropagation(label:String, relationship:String,
direction:String, {iterations:1,
weightProperty:'weight', partitionProperty:'partition', write:true})
YIELD nodes, iterations, loadMillis, computeMillis, writeMillis, write, weightProperty
Merci pour la réponse. Mais une autre question ici est, ce que cela représente exactement quand nous disons USER ou AMI? On dirait que ces requêtes s'exécutent sur n'importe quelle base de données graphique. – user8494391
vérifier les docs ... on charge des nœuds par des labels et des relations par leur type –