My goal is to add to neo4j engine additional (global) filtering rules.
According to this answer:
Cypher is build on the Traversal API
Though I tried to set breakpoints in PathExpanders.scala
and StandardExpander.scala
and it seems they aren't triggered while executing cypher MATCH query.
Also modifying PathEvaluator
in Evaluators.java
didn't affected results for cypher queries.
I also inspected ast.rewriters
which are triggered during cypher parsing, though it seems that I need to embed global filtering on later steps - when engine selects data from store.
Tried to understand internals from this diagram presentation: https://www.slideshare.net/thobe/an-overview-of-neo4j-internals Though there is not much information about exact modules.
In which place verification of node/relationship properties happens for cypher queries?
Links to internal docs also would be helpful!