J'ai une base de données neo4j et j'utilise le mode embarqué. Il y a des millions de nœuds avec plusieurs étiquettes avec chaque nœud. Je peux obtenir tous les nœuds avec une seule étiquette commeComment obtenir des nœuds dans Neo4j embarqué avec plusieurs étiquettes?
GlobalGraphOperations gb = GlobalGraphOperations.at(graphDb);
ResourceIterable iterable = gb.getAllNodesWithLabel(DynamicLabel.label("LABEL1"));
C'est très bien. Maintenant, je veux faire la même chose mais avec plusieurs étiquettes. Je veux tous les nœuds qui ont "LABEL1" et "LABEL2" et "LABEL3" et ainsi de suite.
Permettez-moi vérifier cela avec Predicate. Cela ressemble à une sorte de callbacks. – Rajan
Comment implémenter mon propre prédicat? J'ai le sentiment que le prédicat devrait parcourir à chaque fois le reste des nœuds. Y a-t-il une traversée que je puisse faire à partir d'un nœud de référence connu? Le graphe est tel que les étiquettes sont les arêtes du graphe pondéré non orienté. – Rajan
Mise à jour: J'ai utilisé le filtre avec prédicat, et trouvé qu'il a fallu environ 300 ms pour parcourir plus de 5 millions de nœuds. Avez-vous des suggestions sur la façon de réduire cela à moins de 10 ms? La mise en cache est-elle nécessaire pour l'obtenir ou peu importe? – Rajan