For the complete documentation index optimized for AI agents, see llms.txt.Current constraints and practical limits. These reflect the current implementation, not fundamental architectural boundaries.
Data Model
| Limit | Value |
|---|---|
| Node and edge ID range | 64-bit unsigned integer (max 2^63) |
| Property value types | boolean, integer, float, string, bytes, typed primitive arrays, generic arrays, and objects |
| Nested structures | Stored object/array values are supported. Dotted-path lookup such as metadata.externalID works in scan-time filters, expressions, projections, values, filtered valueMap, and fallback ordering. Arrays are opaque; there is no array-index path syntax. |
| Reserved property keys | $label (used for label-based filtering and label-scoped secondary, vector, and text indexes) |
Vector Indexes
| Limit | Value |
|---|---|
| Scope | Node and edge properties |
| Supported property types | Numeric array properties (float32[], float64[], int64[]) normalized to float32 for indexing |
| Tenant partitioning | Optional by configured tenant property name. Tenant-scoped searches require a tenant value. Unknown tenant partitions return no results. |
| Dimension matching | Vectors must exactly match the configured index dimension |
| Distance metrics | cosine, euclidean, manhattan |
| Search type | Approximate nearest neighbor (ANN) |
Text Indexes
| Limit | Value |
|---|---|
| Scope | Node and edge properties |
| Supported property types | Top-level String and StringArray properties. Nested object fields are not flattened for BM25. |
| Unsupported values | null and non-string values are rejected |
| Analyzer config | Preset analyzers: standard, standard_stem_en, whitespace_lowercase |
| Term positions | Optional |
| Tenant partitioning | Optional. Tenant-partitioned text indexes currently require the partition property name to be tenant_id, and tenant-scoped searches require a tenant value. |
Secondary Indexes
| Limit | Value |
|---|---|
| Equality indexes | Supported on top-level node and edge properties. Nested dotted paths are scan-only in V1. |
| Range indexes | Supported on top-level numeric and string properties. Nested dotted paths are scan-only in V1. |
| Encoding | Range indexes use lexicographic string encoding. Values must be encoded consistently for correct ordering. |
Queries
| Limit | Value |
|---|---|
| Query model | Dynamic queries |
| Query language | SDK DSLs or dynamic JSON AST |
| Transaction scope | One transaction per query invocation |