docs← Back to article

Markdown for LLMs

LDC-Q2007 — The row has no field under that name

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# LDC-Q2007 — The row has no field under that name

## What it means

Dotted reads walk into structured rows field by field, and each field must
exist on the row. A step that names no known field stops the query, and
the engine lists the fields the row does have, so a typo is easy to spot.
A field the snapshot knows but this row lacks reads as empty instead —
this code is only for names the snapshot never heard of.

Use one of the listed field names, or check the spelling against them.

## Example

Both queries below run against this package:

```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";

entity Applicant;
relation resident(a: Applicant) kind institutional;
relation permit_eligible(a: Applicant) kind institutional;

rule PermitEligibility strict {
    for a: Applicant;
    when resident(a);
    then permit_eligible(a);
}
```

No rule row carries this field:

```lawql
from r in rules where r.zzz9 == 1 select r
```

## Fix

```lawql
from r in rules select r
```

## Engine message

The engine reports this in its own wording:

```text
LDC-Q2007: unknown field 'zzz9' on r. Hint: fields: id, strength, head_predicate, head_polarity, head_variables, body_variables, body_predicates, package, path
```

## Related

- [Questions to the engine](/constructs/queries/) — how sources bind names.
- [LDC-Q2006](/diagnostics/LDC-Q2006/) — when the value itself has no fields.