# LDC-Q1004 — A snapshot node carries no identifier ## What it means Every node in a snapshot carries an identifier that joins, labels, and anchors all refer to. A node without one cannot be joined with anything, so the engine stops the load at that node instead of building a store with dangling references. Give the node its identifier at the snapshot source, then run the query again. The query text itself is not at fault. ## Example ```run {"argv": ["query", "from r in rules select r", "--path", "$ROOT/world.json"], "expect": "LDC-Q1004", "files": {"world.json": "{\"nodes\": [{\"kind\": \"type_decl\"}], \"package\": {\"name\": \"demo.diagnostics\", \"namespace\": \"urn:law:demo:diagnostics\"}}"}} ``` ## Fix ```run {"argv": ["query", "from r in rules select r", "--path", "$ROOT/world.json"], "expect": "LDC-Q1004", "files": {"world.json": "{\"nodes\": [{\"id\": \"n1\", \"kind\": \"type_decl\"}], \"package\": {\"name\": \"demo.diagnostics\", \"namespace\": \"urn:law:demo:diagnostics\"}}"}} ``` ## Engine message The engine reports this in its own wording: ```text LDC-Q1004: $ROOT/world.json: node type_decl without id. ``` ## Related - [Questions to the engine](/constructs/queries/) — what a snapshot carries. - [LDC-Q1001](/diagnostics/LDC-Q1001/) — when a node kind is outside the schema.