AshAge.Query.Filter (AshAge v1.0.0)

Copy Markdown View Source

Translates Ash.Filter into Cypher WHERE clauses.

Only handles filter operations that AGE actually supports. Returns {:error, %UnsupportedFilter{}} for anything we can't push down.

Supported operators:

  • eq, not_eq, gt, lt, gte, lte
  • in, is_nil
  • and, or, not

NOT supported (returns error):

  • like, ilike
  • Aggregate subqueries
  • Exists subqueries

Summary

Functions

Translate an Ash filter expression into a Cypher WHERE fragment + parameters

Functions

translate(filter, query)

@spec translate(term(), AshAge.Query.t()) ::
  {:ok, AshAge.Query.t(), String.t()} | {:error, term()}

Translate an Ash filter expression into a Cypher WHERE fragment + parameters