faire respecter, je suis en cours d'exécution dans un problème où j'application l'utilisation d'un index dans une requête par lot Cypher,question Neo4j avec index
UNWIND {rows} AS row
MATCH (s:Entity)
USING INDEX s:Entity(uuid)
WHERE s.uuid = row.source
MATCH (t:Entity)
USING INDEX t:Entity(uuid)
WHERE t.uuid = row.target
MATCH (s)-[r:CONSUMED]->(t)
DELETE r
où row.source
et row.target
et les deux chaînes UUID. Le problème est que j'obtiens l'erreur, ERROR - Cannot use index hint in this context
.
Si j'augment la requête pour renvoyer uniquement la relation d'une source spécifique et le noeud cible dans l'interface utilisateur Neo4j, à savoir
MATCH (s:Entity)
USING INDEX s:Entity(uuid)
WHERE s.uuid = '04bc79e1-a836-11e6-b841-22000bcec6a9'
MATCH (t:Entity)
USING INDEX t:Entity(uuid)
WHERE t.uuid = 'a245f46a-a837-11e6-b841-22000bcec6a9'
MATCH (s)-[r:CONSUMED]->(t)
RETURN r
aucune erreur est levée et la relation est retournée, et donc je suis un peu perplexe ce que le problème pourrait être?
sur quelle version êtes-vous? Cela devrait être corrigé dans les versions plus récentes –
Je l'ai essayé sur le navigateur 3.1.0-M13-beta3, et j'ai toujours l'erreur. – cybersam
@MichaelHunger Voir ma réponse mise à jour. Ce comportement dans les versions récentes de neo4j semble être un bug avec le code qui vérifie si 'USING INDEX' est autorisé. – cybersam