You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Type information enables better validation and database-specific optimizations
88
-
- Duplicate property declarations are normalized by field name
86
+
- Untyped fields (`type: null`) remain valid for schema-agnostic backends
87
+
- Duplicate property declarations are normalized by field name
89
88
- Same type duplicates merge into one field
90
89
- If one duplicate is typed and the other is untyped, the typed definition wins
91
90
- Conflicting non-null types for the same field name are rejected
91
+
-**LIST-typed properties cannot be identity / hash-identity sources**
92
92
- Filtering conditions
93
93
-**`blank: true`** — placeholder vertex with no natural key; identity defaults to **`id`** when omitted
94
94
-**`hash_identity_properties`** — when non-empty, SHA256 hash of these source fields produces a deterministic synthetic **`id`** (see [Vertex identity modes](../schema/vertex_identity.md))
95
95
-**`Vertex.identity_mode`** — derived runtime mode: **`natural`** (upsert on `identity`), **`hash`**, or **`blank`**
- `db_profile`: DB-specific physical behavior (indexes, naming, **`default_property_values`** for TigerGraph GSQL `DEFAULT` on vertex/edge attributes, backend details)
68
68
69
+
**Typed properties:** use mappings with `type` (and `item_type` for lists), not only bare name strings:
70
+
71
+
```yaml
72
+
- name: article
73
+
identity: [doi]
74
+
properties:
75
+
- { name: doi, type: STRING }
76
+
- { name: tags, type: LIST, item_type: STRING } # homogeneous list only
77
+
```
78
+
79
+
`LIST` requires a scalar `item_type`; list fields cannot be identity keys. Full matrix and invalid cases: [Core components — field types](../concepts/architecture/core_components.md#supported-field-types).
0 commit comments