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
| Vector / ANN index |**Not yet implemented**| Exhaustive kNN only |
268
-
| Full-text scoring |**Not yet implemented**| TEXT indexes accelerate string predicates but do not expose ranking |
266
+
| Property uniqueness constraints |**Supported**| Single + composite; backed by a RANGE index of the same name; mutation-time enforcement returns `22N79`|
267
+
| Property existence constraints (`IS NOT NULL`) |**Supported**| Single property only; rejects CREATE missing the prop, REMOVE of the prop, and SET-label that would activate it on an incomplete node; returns `22N77`|
268
+
| Node / relationship key constraints |**Supported**| Composition of existence + uniqueness; single + composite; node-key uses `IS NODE KEY`, rel-key uses `IS RELATIONSHIP KEY`|
269
+
| Property type constraints (`IS :: T`) |**Supported**| Scalar (`BOOLEAN`/`STRING`/`INTEGER`/`FLOAT`/`DATE`/`LOCAL TIME`/`ZONED TIME`/`LOCAL DATETIME`/`ZONED DATETIME`/`DURATION`/`POINT`), `LIST<T NOT NULL>`, `VECTOR<COORD>(DIM)`, and closed dynamic unions (`T1 \| T2`); `MAP`/`ANY` rejected with `22N90`|
270
+
| Vector index / ANN index |**Partial**|`CREATE VECTOR INDEX FOR (n:L) ON (n.p) OPTIONS {indexConfig: {vector.dimensions, vector.similarity_function}}` (node + rel). Procedures `db.index.vector.queryNodes` / `queryRelationships` execute a flat scan over label-matching entities; ANN structure (HNSW) is a follow-up. |
271
+
| Full-text indexing |**Supported (standard analyzer)**|`CREATE FULLTEXT INDEX FOR (n:A\|B) ON EACH [n.p, n.q]` — multi-label, multi-property, relationship scope. `OPTIONS {fulltext.analyzer}` accepts `'standard'` (default); others rejected. Procedures `db.index.fulltext.queryNodes` / `queryRelationships` tokenise with lowercase + non-alphanumeric split, intersect posting lists (AND semantics), score by summed TF, return `(node\|relationship, score)` rows sorted descending. |
269
272
270
273
## 13b. Vector types and functions
271
274
@@ -420,7 +423,6 @@ The HTTP server chooses a format from the request body's `"format"` field. The R
420
423
|`CALL` (standalone and YIELD) | Clause | Analyzer rejects with `UnsupportedFeature`|
421
424
|`EXPLAIN` / `PROFILE` (as Cypher keywords) | Clause | Not in grammar — exposed instead as the `db.explain()` / `db.profile()` API methods so callers must explicitly request plan-only or instrumented execution. |
422
425
|`FOREACH`| Clause | Not in grammar |
423
-
|`CREATE CONSTRAINT`| DDL | Not in grammar |
424
426
|`LOAD CSV`| DDL | Not in grammar |
425
427
|`USE <graph>` (multi-database) | Clause | Not in grammar |
0 commit comments