dart_neo4j 1.2.1 copy "dart_neo4j: ^1.2.1" to clipboard
dart_neo4j: ^1.2.1 copied to clipboard

A comprehensive Neo4j driver for Dart supporting both bolt:// and neo4j:// URI schemes with type-safe result access.

1.2.1 #

Allow for running long running queries (#4)

  • Add optional timeout parameter to BoltConnection.run (and BoltConnection._sendMessage, with default set to 30 seconds for backward compatibility); the timeout is used on the pull message.
  • Add optional timeout parameter to SessionConfiguration (defaults to 30 seconds) and use that timeout when running queries directly over the session.
  • Use TransactionConfig.timeout when running queries over a transaction.
  • Implement startQuery() methods in addition to the existing run() methods. The existing implementations of run() returns only after all records have been streamed from the server. startQuery() returns before the query has fully executing, allowing for early streaming of records by clients. The query has finished executing when [Result.done] and [Result.summary()] complete (they are based on the same future).

Thanks to d-markey for the contribution.

1.2.0 #

  • Version bump for consistency with dart_neo4j ecosystem

1.1.0 #

  • Version bump for consistency with dart_neo4j ecosystem

1.0.0 #

BREAKING CHANGES #

  • Deprecated id Property: The numeric id property on Node, Relationship, and UnboundRelationship is now deprecated in favor of elementId
    • Use elementId (nullable) or elementIdOrThrow (non-nullable) for Neo4j 5.0+ compatibility
    • The old id property will continue to work but will emit deprecation warnings
    • See Neo4j documentation for migration guidance

New Features #

  • Neo4j 5.0+ Element ID Support: Added full support for string-based element IDs
    • Node.elementId: Returns the element ID as a nullable String
    • Node.elementIdOrThrow: Returns the element ID or throws if not available
    • Relationship.elementId: Returns the relationship element ID as a nullable String
    • Relationship.elementIdOrThrow: Returns the relationship element ID or throws if not available
    • UnboundRelationship.elementId: Returns the relationship element ID as a nullable String
    • UnboundRelationship.elementIdOrThrow: Returns the relationship element ID or throws if not available
  • Improved Equality Comparisons: Node and Relationship equality now prefers elementId when available, falling back to numeric id for backward compatibility
  • Enhanced toString: Node, Relationship, and UnboundRelationship now include elementId in their string representations when available

Improvements #

  • Future-Proof Design: Smooth migration path from numeric IDs to element IDs
  • Backward Compatibility: Existing code using numeric IDs continues to work with deprecation warnings
  • Comprehensive Test Coverage: Added extensive tests for element ID functionality

0.2.0 #

  • Updated Dart SDK requirement to ^3.8.0
  • Version bump for consistency with dart_neo4j ecosystem

0.1.0 #

  • Fixed handling of multiple node returns in Cypher queries (RETURN a, b syntax)
  • Improved Record.fromBolt to properly handle BoltNode, BoltRelationship, and BoltUnboundRelationship structures
  • Enhanced BoltConnection to preserve Bolt structures in record data

0.0.2 #

  • Updated license section in README to correctly reflect GPL-3.0 license

0.0.1 #

  • Initial release of dart_neo4j package.
5
likes
160
points
348
downloads

Documentation

API reference

Publisher

verified publisherex3.dev

Weekly Downloads

A comprehensive Neo4j driver for Dart supporting both bolt:// and neo4j:// URI schemes with type-safe result access.

Repository (GitHub)
View/report issues

License

GPL-3.0 (license)

Dependencies

dart_bolt

More

Packages that depend on dart_neo4j