ArcadeDB version
Observed on Docker images:
arcadedata/arcadedb:latest
arcadedata/arcadedb:26.3.2
arcadedata/arcadedb:26.4.1-SNAPSHOT
arcadedata/arcadedb:26.4.2
Environment
- Host OS: Windows 10
- Architecture: x86_64
- Deployment: Docker
- ArcadeDB endpoint: HTTP
/api/v1/command/arcade
- Request mode matches ArcadeDB Studio:
language: opencypher
serializer: studio
- Differential comparison target: Neo4j Docker
neo4j:latest
Describe the bug
ArcadeDB may return null when reading standard temporal components from date(...) or datetime(...) values, even though the temporal values themselves are created correctly.
In the minimized repros below:
date() itself returns a valid date string
- but
date().year, date().month, date().day, and datetime().year all evaluate to null
Neo4j returns the expected numeric components.
To Reproduce
Query:
Expected behavior
Neo4j returns the current year as an integer.
On 2026-04-25, observed Neo4j result:
ArcadeDB should also return the current year.
Actual behavior
ArcadeDB returns:
Control query 1
The temporal value itself is created correctly:
Observed result on ArcadeDB:
So the failure is not that date() itself is unavailable.
Control query 2
The issue is not limited to date() without arguments:
RETURN date('2020-01-15').year AS y;
Observed Neo4j result:
Observed ArcadeDB result:
Control query 3
The same family also affects other date and datetime components:
RETURN date().month AS m, date().day AS d;
Observed Neo4j result on 2026-04-25:
Observed ArcadeDB result:
And:
RETURN datetime().year AS y;
Observed Neo4j result:
Observed ArcadeDB result:
This makes the boundary clear: ArcadeDB can produce temporal values, but component access on those values is being evaluated incorrectly.
ArcadeDB version
Observed on Docker images:
arcadedata/arcadedb:latestarcadedata/arcadedb:26.3.2arcadedata/arcadedb:26.4.1-SNAPSHOTarcadedata/arcadedb:26.4.2Environment
/api/v1/command/arcadelanguage: opencypherserializer: studioneo4j:latestDescribe the bug
ArcadeDB may return
nullwhen reading standard temporal components fromdate(...)ordatetime(...)values, even though the temporal values themselves are created correctly.In the minimized repros below:
date()itself returns a valid date stringdate().year,date().month,date().day, anddatetime().yearall evaluate tonullNeo4j returns the expected numeric components.
To Reproduce
Query:
Expected behavior
Neo4j returns the current year as an integer.
On
2026-04-25, observed Neo4j result:ArcadeDB should also return the current year.
Actual behavior
ArcadeDB returns:
Control query 1
The temporal value itself is created correctly:
Observed result on ArcadeDB:
So the failure is not that
date()itself is unavailable.Control query 2
The issue is not limited to
date()without arguments:Observed Neo4j result:
Observed ArcadeDB result:
Control query 3
The same family also affects other date and datetime components:
Observed Neo4j result on
2026-04-25:Observed ArcadeDB result:
And:
Observed Neo4j result:
Observed ArcadeDB result:
This makes the boundary clear: ArcadeDB can produce temporal values, but component access on those values is being evaluated incorrectly.