Releases: vento007/graph_kit
v0.8.5: The Query Engine Update (ORDER BY, Pagination, Layouts)
This release marks a major milestone for graph_kit, introducing a full suite of Cypher-like query capabilities, layout algorithms, and advanced filtering.
New Query Features
Sorting & Pagination: Added ORDER BY, SKIP, and LIMIT clauses (v0.8.5).
RETURN Clause: Project specific variables, properties, and aliases (e.g., RETURN person.name AS name) (v0.7.4).
Advanced Filtering:
CONTAINS operator for substring matching (v0.7.7).
Inline property filters (e.g., node:User{active:true}) (v0.8.2).
Edge variable comparisons in WHERE (v0.8.1).
Flexible Starting Points: Support for multiple startIds and starting from middle elements in a pattern (v0.8.0, v0.7.5).
Layout & Visualization
GraphLayout API: Automatic layer and column computation for visualizing graphs, handling cycles and disconnected components (v0.7.6).
Core Improvements
Relationship Properties: Full support for persisting and querying properties on edges (v0.8.3).
Variable-Length Paths: Improved metadata support and path reconstruction for variable-length segments (v0.8.4, v0.7.9).
What's Changed
- Feature/startid middle elements by @vento007 in #18
- Feature/graph layout by @vento007 in #19
- feat: add CONTAINS operator for substring matching in WHERE clauses by @vento007 in #20
- docs: add GraphLayout and startId documentation, remove topological by @vento007 in #21
- Fix/variable length paths by @vento007 in #22
- feat: add startIds parameter for multiple starting nodes by @vento007 in #23
- Feature/edge variable comparison by @vento007 in #24
- docs: minor change by @vento007 in #25
- Feat/inline node property filters by @vento007 in #26
- Feat/varlen relationship properties by @vento007 in #27
- Feat/order skip limit by @vento007 in #28
Full Changelog: v0.7.4...v0.8.5
RETURN Clause Support - Clean Query Results with Property Projection
Release Notes:
RETURN Clause Support
This release adds complete RETURN clause support, allowing you to project specific variables and properties from your query results for cleaner, more usable data.
Features
Variable Projection
RETURN person, team // Returns node IDs
Property Access
RETURN person.name, person.salary, team.size // Direct property access
AS Aliasing
RETURN person.name AS employee, person.salary AS pay
Dart 3 Destructuring
final results = query.matchRows(
'MATCH person:Person WHERE person.salary > 90000 '
'RETURN person.name AS name, person.salary AS salary'
);
for (var {'name': empName, 'salary': pay} in results) {
print('$empName earns \$$pay');
}