# `AshNeo4j.Error.UnsupportedFilterFragment`
[🔗](https://github.com/diffo-dev/ash_neo4j/blob/v0.10.1/lib/error.ex#L126)

**Returned** (never raised) when a `fragment(...)` filter (the Cypher escape
hatch, #33) can't be pushed down — and, because raw Cypher can't be evaluated in
Elixir, it can't fall back to in-memory filtering either, so the data layer
refuses rather than silently return wrong results.

Two cases today:

  * the fragment is **combined with other filter conditions** (it isn't the whole
    filter) — only a filter that is a single `fragment(...)` is pushed down so far;
  * a `?` argument is **not a plain attribute reference or a literal** (e.g. a
    related field, calculation or nested expression).

Make the fragment the whole filter and reference attributes (`?` with an attribute)
or literals, or express the condition without a fragment.

# `exception`

```elixir
@spec exception(opts :: Keyword.t()) :: %AshNeo4j.Error.UnsupportedFilterFragment{
  __exception__: term(),
  bread_crumbs: term(),
  class: term(),
  path: term(),
  reason: term(),
  resource: term(),
  splode: term(),
  stacktrace: term(),
  vars: term()
}
```

Create an `Elixir.AshNeo4j.Error.UnsupportedFilterFragment` without raising it.

## Keys

- :resource
- :reason

---

*Consult [api-reference.md](api-reference.md) for complete listing*
