Skip to content

Store dateTime statements as Neo4j datetime values#812

Draft
malberts wants to merge 1 commit intomasterfrom
store-datetime-as-neo4j-datetime
Draft

Store dateTime statements as Neo4j datetime values#812
malberts wants to merge 1 commit intomasterfrom
store-datetime-as-neo4j-datetime

Conversation

@malberts
Copy link
Copy Markdown
Contributor

@malberts malberts commented May 6, 2026

Statement values for the dateTime property type were written to Neo4j as
plain ISO 8601 strings, leaving them un-queryable with Cypher's datetime
functions (comparisons, ordering, range filtering). Builders registered
with Neo4jValueBuilderRegistry can now return a Neo4jTypedValue, which
SubjectUpdater wraps in a Cypher constructor (e.g. datetime()) on save.

The mechanism extends cleanly to other typed Neo4j properties (date,
point, duration, etc.) without further restructuring.

Result of back-and-forth with @malberts. Context: the NeoWiki codebase,
the existing PageDateTime / Neo4jQueryStore::extractTypedValues pattern,
and Neo4j Cypher temporal type docs.
Written by Claude Code, Opus 4.7 (1M context)

Statement values for the dateTime property type were written to Neo4j as
plain ISO 8601 strings, leaving them un-queryable with Cypher's datetime
functions (comparisons, ordering, range filtering). Builders registered
with Neo4jValueBuilderRegistry can now return a Neo4jTypedValue, which
SubjectUpdater wraps in a Cypher constructor (e.g. `datetime()`) on save.

The mechanism extends cleanly to other typed Neo4j properties (date,
point, duration, etc.) without further restructuring.

> Result of back-and-forth with @malberts. Context: the NeoWiki codebase,
> the existing PageDateTime / Neo4jQueryStore::extractTypedValues pattern,
> and Neo4j Cypher temporal type docs.
> <sub>Written by Claude Code, \`Opus 4.7 (1M context)\`</sub>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant