Skip to main content
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

LimitValue
Node and edge ID range64-bit unsigned integer (max 2^63)
Property value typesboolean, integer, float, string, bytes, typed primitive arrays, generic arrays, and objects
Nested structuresStored 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

LimitValue
ScopeNode and edge properties
Supported property typesNumeric array properties (float32[], float64[], int64[]) normalized to float32 for indexing
Tenant partitioningOptional by configured tenant property name. Tenant-scoped searches require a tenant value. Unknown tenant partitions return no results.
Dimension matchingVectors must exactly match the configured index dimension
Distance metricscosine, euclidean, manhattan
Search typeApproximate nearest neighbor (ANN)

Text Indexes

LimitValue
ScopeNode and edge properties
Supported property typesTop-level String and StringArray properties. Nested object fields are not flattened for BM25.
Unsupported valuesnull and non-string values are rejected
Analyzer configPreset analyzers: standard, standard_stem_en, whitespace_lowercase
Term positionsOptional
Tenant partitioningOptional. Tenant-partitioned text indexes currently require the partition property name to be tenant_id, and tenant-scoped searches require a tenant value.

Secondary Indexes

LimitValue
Equality indexesSupported on top-level node and edge properties. Nested dotted paths are scan-only in V1.
Range indexesSupported on top-level numeric and string properties. Nested dotted paths are scan-only in V1.
EncodingRange indexes use lexicographic string encoding. Values must be encoded consistently for correct ordering.

Queries

LimitValue
Query modelDynamic queries
Query languageSDK DSLs or dynamic JSON AST
Transaction scopeOne transaction per query invocation