A Java and REST library for representing time as an on-demand tree in Neo4j, enabling temporal event modeling and queries.
GraphAware Neo4j TimeTree is a library for modeling time as a hierarchical tree structure within the Neo4j graph database. It dynamically creates time-instant nodes (from years down to milliseconds) on-demand, allowing developers to efficiently represent and query temporal data by linking event nodes to specific time instants. This approach avoids the overhead of pre-generating time structures while supporting time zones and flexible event attachment.
Developers building Neo4j-based applications that require efficient temporal data modeling and querying, such as event logging, time-series analysis, or historical data tracking. It is specifically for users of Neo4j Community Edition with the GraphAware Framework Community, as the open-source version is incompatible with Neo4j Enterprise Edition.
Developers choose this library for its on-demand tree generation, which reduces storage and complexity compared to pre-built time hierarchies, and its built-in support for multi-resolution time instants, time zones, and event attachment via Cypher procedures and REST APIs. Its pragmatic approach balances flexibility with performance for diverse temporal querying needs.
Java and REST APIs for working with time-representing tree in Neo4j
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Creates time-instant nodes only when requested, avoiding the storage overhead of pre-generating entire time hierarchies, as described in the on-demand tree generation feature.
Supports time resolutions from Year down to Millisecond with configurable defaults, allowing fine-grained or coarse temporal modeling based on use case needs.
Incorporates time zone handling for accurate labeling of time instants and event attachments, ensuring consistency across regional data.
Provides Cypher procedures and REST APIs for attaching events to time instants and querying events by single instants or ranges, streamlining temporal data operations.
Marked as retired since May 2021, meaning no updates, bug fixes, or official support, which poses risks for long-term maintenance.
Only works with Neo4j Community Edition due to GPL licensing; the README explicitly states it will not work with Neo4j Enterprise Edition, limiting adoption in commercial environments.
Requires installing the GraphAware Framework and configuring neo4j.conf with security exemptions and module settings, adding deployment overhead.