docs← Back to article

Markdown for LLMs

LDC-Q2010 — The label reader takes one or two arguments, not three

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

Download this articlePlain text ↗
# LDC-Q2010 — The label reader takes one or two arguments, not three

## What it means

Labels name the human-readable titles attached to a node, optionally in
one language. The reader therefore takes the node plus at most one
language: a third argument has no meaning, so the engine stops the query
instead of ignoring it.

Drop the extra argument. To read labels in every language, pass the node
alone.

## 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);
}
```

Three arguments are one too many:

```lawql
from r in rules select labels(r.id, r.id, r.id)
```

## Fix

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

## Engine message

The engine reports this in its own wording:

```text
LDC-Q2010: labels(node[, lang]) expects 1–2 arguments.
```

## Related

- [Questions to the engine](/constructs/queries/) — the helpers a query can call.
- [LDC-Q2009](/diagnostics/LDC-Q2009/) — the general wrong-argument-count refusal.