neo4j-graphql / neo4j-graphql-java

Neo4j Labs Project: Pure JVM translation for GraphQL queries and mutations to Neo4j's Cypher

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Q: type hint for indexed operators

jexp opened this issue · comments

As Neo4j is schema free it's hard to reason about if an index can be used, that's why in Cypher (currently) you have to hint at the type, before an index is used e.g. for sorting, min/max aggregations etc.

Not sure if that's also true for parameters but could be.

e.g. MATCH (p:Person) RETURN p ORDER BY p.age

Will only use an index with the additional (numeric) type hint

e.g. MATCH (p:Person) WHERE p.age > 0 RETURN p ORDER BY p.age

we might need to find a way to support adding these type hints where necessary.

TODO manual link
kinda between the lines here: https://neo4j.com/docs/cypher-manual/current/query-tuning/advanced-example/#advanced-query-tuning-example-index-backed-property-lookup