graphforge 0.3.6__tar.gz → 0.3.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (646) hide show
  1. {graphforge-0.3.6 → graphforge-0.3.7}/CHANGELOG.md +36 -0
  2. {graphforge-0.3.6 → graphforge-0.3.7}/PKG-INFO +1 -1
  3. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/opencypher-compatibility.md +5 -3
  4. {graphforge-0.3.6 → graphforge-0.3.7}/pyproject.toml +1 -1
  5. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/ast/clause.py +6 -6
  6. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/executor/evaluator.py +546 -110
  7. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/executor/executor.py +219 -151
  8. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/optimizer/join_reorder.py +6 -1
  9. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/parser/cypher.lark +27 -20
  10. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/parser/parser.py +79 -45
  11. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/planner/operators.py +15 -7
  12. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/planner/planner.py +416 -30
  13. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/types/graph.py +68 -0
  14. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/types/values.py +22 -12
  15. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_aggregation_edge_cases.py +110 -0
  16. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_arithmetic.py +7 -6
  17. graphforge-0.3.7/tests/integration/test_graph_element_comparison.py +123 -0
  18. graphforge-0.3.7/tests/integration/test_list_concatenation.py +110 -0
  19. graphforge-0.3.7/tests/integration/test_map_subscript.py +89 -0
  20. graphforge-0.3.7/tests/integration/test_math_functions_new.py +248 -0
  21. graphforge-0.3.7/tests/integration/test_mixed_type_sort.py +107 -0
  22. graphforge-0.3.7/tests/integration/test_nan_handling.py +194 -0
  23. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_null_handling.py +56 -10
  24. graphforge-0.3.7/tests/integration/test_operator_precedence.py +260 -0
  25. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_power_operator.py +24 -24
  26. graphforge-0.3.7/tests/integration/test_properties_keys_functions.py +136 -0
  27. graphforge-0.3.7/tests/integration/test_relationship_uniqueness.py +147 -0
  28. graphforge-0.3.7/tests/integration/test_skip_limit_expressions.py +76 -0
  29. graphforge-0.3.7/tests/integration/test_startnode_endnode_functions.py +57 -0
  30. graphforge-0.3.7/tests/integration/test_temporal_select_into.py +392 -0
  31. graphforge-0.3.7/tests/integration/test_type_conversion_fixes.py +185 -0
  32. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_type_functions.py +12 -10
  33. graphforge-0.3.7/tests/integration/test_with_clause_positions.py +108 -0
  34. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/conftest.py +50 -16
  35. graphforge-0.3.7/tests/tck/tck_config.yaml +289 -0
  36. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_arithmetic_evaluator.py +20 -9
  37. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_evaluator.py +40 -34
  38. graphforge-0.3.7/tests/unit/executor/test_properties_keys_errors.py +36 -0
  39. graphforge-0.3.7/tests/unit/executor/test_startnode_endnode_errors.py +53 -0
  40. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_string_matching_evaluator.py +22 -40
  41. graphforge-0.3.7/tests/unit/executor/test_type_conversion_complex.py +110 -0
  42. graphforge-0.3.7/tests/unit/parser/test_float_literals.py +150 -0
  43. graphforge-0.3.7/tests/unit/parser/test_order_by_direction.py +62 -0
  44. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_parser.py +10 -6
  45. graphforge-0.3.7/tests/unit/parser/test_with_clause_positions.py +41 -0
  46. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_operator_validation.py +8 -6
  47. graphforge-0.3.7/tests/unit/planner/test_planner_branch_coverage.py +678 -0
  48. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_planner_edge_cases.py +4 -2
  49. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/types/test_cypher_values_deep_equality.py +3 -4
  50. graphforge-0.3.7/tests/unit/types/test_graph_element_edge_cases.py +257 -0
  51. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/types/test_temporal_values.py +2 -2
  52. {graphforge-0.3.6 → graphforge-0.3.7}/uv.lock +1 -1
  53. graphforge-0.3.6/tests/tck/tck_config.yaml +0 -137
  54. graphforge-0.3.6/tests/unit/executor/test_type_conversion_complex.py +0 -423
  55. graphforge-0.3.6/tests/unit/planner/test_planner_branch_coverage.py +0 -401
  56. graphforge-0.3.6/tests/unit/types/test_graph_element_edge_cases.py +0 -95
  57. {graphforge-0.3.6 → graphforge-0.3.7}/.codecov.yml +0 -0
  58. {graphforge-0.3.6 → graphforge-0.3.7}/.coderabbit.yaml +0 -0
  59. {graphforge-0.3.6 → graphforge-0.3.7}/.editorconfig +0 -0
  60. {graphforge-0.3.6 → graphforge-0.3.7}/.github/CODEOWNERS +0 -0
  61. {graphforge-0.3.6 → graphforge-0.3.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  62. {graphforge-0.3.6 → graphforge-0.3.7}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  63. {graphforge-0.3.6 → graphforge-0.3.7}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  64. {graphforge-0.3.6 → graphforge-0.3.7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  65. {graphforge-0.3.6 → graphforge-0.3.7}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  66. {graphforge-0.3.6 → graphforge-0.3.7}/.github/ISSUE_TEMPLATE/question.yml +0 -0
  67. {graphforge-0.3.6 → graphforge-0.3.7}/.github/ISSUE_WORKFLOW.md +0 -0
  68. {graphforge-0.3.6 → graphforge-0.3.7}/.github/SECURITY.md +0 -0
  69. {graphforge-0.3.6 → graphforge-0.3.7}/.github/dependabot.yml +0 -0
  70. {graphforge-0.3.6 → graphforge-0.3.7}/.github/pull_request_template.md +0 -0
  71. {graphforge-0.3.6 → graphforge-0.3.7}/.github/workflows/README.md +0 -0
  72. {graphforge-0.3.6 → graphforge-0.3.7}/.github/workflows/changelog-check.yml +0 -0
  73. {graphforge-0.3.6 → graphforge-0.3.7}/.github/workflows/docs.yml +0 -0
  74. {graphforge-0.3.6 → graphforge-0.3.7}/.github/workflows/pr-labeler.yml +0 -0
  75. {graphforge-0.3.6 → graphforge-0.3.7}/.github/workflows/publish.yaml +0 -0
  76. {graphforge-0.3.6 → graphforge-0.3.7}/.github/workflows/release-tracking.yml +0 -0
  77. {graphforge-0.3.6 → graphforge-0.3.7}/.github/workflows/test.yml +0 -0
  78. {graphforge-0.3.6 → graphforge-0.3.7}/.gitignore +0 -0
  79. {graphforge-0.3.6 → graphforge-0.3.7}/.pre-commit-config.yaml +0 -0
  80. {graphforge-0.3.6 → graphforge-0.3.7}/CHANGELOG_v0.3.0.md +0 -0
  81. {graphforge-0.3.6 → graphforge-0.3.7}/CLAUDE.md +0 -0
  82. {graphforge-0.3.6 → graphforge-0.3.7}/CODE_OF_CONDUCT.md +0 -0
  83. {graphforge-0.3.6 → graphforge-0.3.7}/CONTRIBUTING.md +0 -0
  84. {graphforge-0.3.6 → graphforge-0.3.7}/IMPLEMENTATION_PLAN.md +0 -0
  85. {graphforge-0.3.6 → graphforge-0.3.7}/LICENSE +0 -0
  86. {graphforge-0.3.6 → graphforge-0.3.7}/Makefile +0 -0
  87. {graphforge-0.3.6 → graphforge-0.3.7}/README.md +0 -0
  88. {graphforge-0.3.6 → graphforge-0.3.7}/RELEASING.md +0 -0
  89. {graphforge-0.3.6 → graphforge-0.3.7}/coverage.json +0 -0
  90. {graphforge-0.3.6 → graphforge-0.3.7}/docs/architecture/ast-and-planning.md +0 -0
  91. {graphforge-0.3.6 → graphforge-0.3.7}/docs/architecture/execution-model.md +0 -0
  92. {graphforge-0.3.6 → graphforge-0.3.7}/docs/architecture/overview.md +0 -0
  93. {graphforge-0.3.6 → graphforge-0.3.7}/docs/architecture/storage-analysis.md +0 -0
  94. {graphforge-0.3.6 → graphforge-0.3.7}/docs/architecture/storage.md +0 -0
  95. {graphforge-0.3.6 → graphforge-0.3.7}/docs/community/code-of-conduct.md +0 -0
  96. {graphforge-0.3.6 → graphforge-0.3.7}/docs/community/security.md +0 -0
  97. {graphforge-0.3.6 → graphforge-0.3.7}/docs/cypher-guide.md +0 -0
  98. {graphforge-0.3.6 → graphforge-0.3.7}/docs/datasets/cypher-script-loading.md +0 -0
  99. {graphforge-0.3.6 → graphforge-0.3.7}/docs/datasets/ldbc.md +0 -0
  100. {graphforge-0.3.6 → graphforge-0.3.7}/docs/datasets/neo4j-examples.md +0 -0
  101. {graphforge-0.3.6 → graphforge-0.3.7}/docs/datasets/networkrepository.md +0 -0
  102. {graphforge-0.3.6 → graphforge-0.3.7}/docs/datasets/overview.md +0 -0
  103. {graphforge-0.3.6 → graphforge-0.3.7}/docs/datasets/snap.md +0 -0
  104. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/QUICKSTART_V0.2.md +0 -0
  105. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/codecov-integration.md +0 -0
  106. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/contributing.md +0 -0
  107. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/documentation-update-summary.md +0 -0
  108. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/phase-1a-completion-report.md +0 -0
  109. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/release-process.md +0 -0
  110. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/release-strategy.md +0 -0
  111. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/requirements.md +0 -0
  112. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/session-2026-01-31-cicd-infrastructure.md +0 -0
  113. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/session-2026-01-31-documentation.md +0 -0
  114. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/session-2026-01-31-regression-fix.md +0 -0
  115. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/session-2026-01-31-with-clause.md +0 -0
  116. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/session-2026-02-01-codecov-setup.md +0 -0
  117. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/session-2026-02-01-column-naming-investigation.md +0 -0
  118. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/session-summary.md +0 -0
  119. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/tck-session-2026-01-31-final.md +0 -0
  120. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/tck-session-2026-01-31.md +0 -0
  121. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/tck_baseline_analysis_v0.3.md +0 -0
  122. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/testing-setup-complete.md +0 -0
  123. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/testing.md +0 -0
  124. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/v0.2-plan-summary.md +0 -0
  125. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/v0.4-revised-plan.md +0 -0
  126. {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/workflow.md +0 -0
  127. {graphforge-0.3.6 → graphforge-0.3.7}/docs/getting-started/installation.md +0 -0
  128. {graphforge-0.3.6 → graphforge-0.3.7}/docs/getting-started/quickstart.md +0 -0
  129. {graphforge-0.3.6 → graphforge-0.3.7}/docs/getting-started/tutorial.md +0 -0
  130. {graphforge-0.3.6 → graphforge-0.3.7}/docs/guide/cypher-guide.md +0 -0
  131. {graphforge-0.3.6 → graphforge-0.3.7}/docs/guide/graph-construction.md +0 -0
  132. {graphforge-0.3.6 → graphforge-0.3.7}/docs/guide/overview.md +0 -0
  133. {graphforge-0.3.6 → graphforge-0.3.7}/docs/index.md +0 -0
  134. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/INCOMPLETE_FEATURES_ISSUES.md +0 -0
  135. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/README.md +0 -0
  136. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/RELEASE_TRACKING.md +0 -0
  137. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/VALIDATION_REPORT.md +0 -0
  138. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/api.md +0 -0
  139. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/changelog.md +0 -0
  140. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/column-naming-behavior.md +0 -0
  141. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/feature-aggregation-functions.md +0 -0
  142. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/feature-graph-queries.md +0 -0
  143. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/feature-graph-schema.md +0 -0
  144. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/feature-mapping/clause-to-tck.md +0 -0
  145. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/feature-mapping/function-to-tck.md +0 -0
  146. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/feature-order-by.md +0 -0
  147. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/feature-return-aliasing.md +0 -0
  148. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/implementation-status/clauses.md +0 -0
  149. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/implementation-status/functions.md +0 -0
  150. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/implementation-status/operators.md +0 -0
  151. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/implementation-status/patterns.md +0 -0
  152. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/opencypher-compatibility-matrix.md +0 -0
  153. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/opencypher-features/01-clauses.md +0 -0
  154. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/opencypher-features/02-functions.md +0 -0
  155. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/opencypher-features/03-operators.md +0 -0
  156. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/opencypher-features/04-patterns.md +0 -0
  157. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/opencypher-features/05-data-types.md +0 -0
  158. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/tck-compliance.md +0 -0
  159. {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/tck-inventory.md +0 -0
  160. {graphforge-0.3.6 → graphforge-0.3.7}/docs/releases/implementation-summary.md +0 -0
  161. {graphforge-0.3.6 → graphforge-0.3.7}/docs/releases/next-steps.md +0 -0
  162. {graphforge-0.3.6 → graphforge-0.3.7}/docs/releases/phase-1-complete.md +0 -0
  163. {graphforge-0.3.6 → graphforge-0.3.7}/docs/releases/phase-2-complete.md +0 -0
  164. {graphforge-0.3.6 → graphforge-0.3.7}/docs/releases/phase-3-complete.md +0 -0
  165. {graphforge-0.3.6 → graphforge-0.3.7}/docs/releases/roadmap.md +0 -0
  166. {graphforge-0.3.6 → graphforge-0.3.7}/docs/stylesheets/extra.css +0 -0
  167. {graphforge-0.3.6 → graphforge-0.3.7}/docs/use-cases/agent-grounding.md +0 -0
  168. {graphforge-0.3.6 → graphforge-0.3.7}/examples/01_social_network.py +0 -0
  169. {graphforge-0.3.6 → graphforge-0.3.7}/examples/02_knowledge_graph.py +0 -0
  170. {graphforge-0.3.6 → graphforge-0.3.7}/examples/03_data_lineage.py +0 -0
  171. {graphforge-0.3.6 → graphforge-0.3.7}/examples/04_citation_network.py +0 -0
  172. {graphforge-0.3.6 → graphforge-0.3.7}/examples/05_migration_from_networkx.py +0 -0
  173. {graphforge-0.3.6 → graphforge-0.3.7}/examples/agent_grounding/ecommerce_agent.ipynb +0 -0
  174. {graphforge-0.3.6 → graphforge-0.3.7}/examples/basic_graph.py +0 -0
  175. {graphforge-0.3.6 → graphforge-0.3.7}/examples/basic_usage.py +0 -0
  176. {graphforge-0.3.6 → graphforge-0.3.7}/mkdocs.yml +0 -0
  177. {graphforge-0.3.6 → graphforge-0.3.7}/scripts/build_feature_graph.py +0 -0
  178. {graphforge-0.3.6 → graphforge-0.3.7}/scripts/bump_version.py +0 -0
  179. {graphforge-0.3.6 → graphforge-0.3.7}/scripts/check_release_needed.py +0 -0
  180. {graphforge-0.3.6 → graphforge-0.3.7}/scripts/inventory_tck.py +0 -0
  181. {graphforge-0.3.6 → graphforge-0.3.7}/scripts/pre-push-check.sh +0 -0
  182. {graphforge-0.3.6 → graphforge-0.3.7}/scripts/tck_metrics.py +0 -0
  183. {graphforge-0.3.6 → graphforge-0.3.7}/scripts/validate_datasets.py +0 -0
  184. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/__init__.py +0 -0
  185. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/api.py +0 -0
  186. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/ast/__init__.py +0 -0
  187. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/ast/expression.py +0 -0
  188. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/ast/pattern.py +0 -0
  189. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/ast/query.py +0 -0
  190. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/__init__.py +0 -0
  191. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/base.py +0 -0
  192. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/data/__init__.py +0 -0
  193. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/data/networkrepository.json +0 -0
  194. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/data/snap.json +0 -0
  195. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/exporters/__init__.py +0 -0
  196. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/exporters/json_graph.py +0 -0
  197. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/formats/__init__.py +0 -0
  198. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/formats/json_graph.py +0 -0
  199. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/__init__.py +0 -0
  200. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/compression.py +0 -0
  201. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/csv.py +0 -0
  202. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/cypher.py +0 -0
  203. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/graphml.py +0 -0
  204. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/json_graph.py +0 -0
  205. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/ldbc.py +0 -0
  206. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/ldbc_schema.py +0 -0
  207. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/registry.py +0 -0
  208. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/sources/__init__.py +0 -0
  209. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/sources/graphml.py +0 -0
  210. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/sources/json_graph.py +0 -0
  211. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/sources/ldbc.py +0 -0
  212. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/sources/networkrepository.py +0 -0
  213. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/sources/snap.py +0 -0
  214. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/executor/__init__.py +0 -0
  215. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/optimizer/__init__.py +0 -0
  216. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/optimizer/cost_model.py +0 -0
  217. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/optimizer/optimizer.py +0 -0
  218. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/optimizer/predicate_utils.py +0 -0
  219. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/optimizer/statistics.py +0 -0
  220. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/parser/__init__.py +0 -0
  221. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/planner/__init__.py +0 -0
  222. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/planner/types.py +0 -0
  223. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/storage/__init__.py +0 -0
  224. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/storage/memory.py +0 -0
  225. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/storage/pydantic_serialization.py +0 -0
  226. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/storage/serialization.py +0 -0
  227. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/storage/sqlite_backend.py +0 -0
  228. {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/types/__init__.py +0 -0
  229. {graphforge-0.3.6 → graphforge-0.3.7}/tests/README.md +0 -0
  230. {graphforge-0.3.6 → graphforge-0.3.7}/tests/__init__.py +0 -0
  231. {graphforge-0.3.6 → graphforge-0.3.7}/tests/conftest.py +0 -0
  232. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/__init__.py +0 -0
  233. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/conftest.py +0 -0
  234. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_compression.py +0 -0
  235. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_cypher_loader_docs.py +0 -0
  236. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_end_to_end_workflows.py +0 -0
  237. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_graphml_loader.py +0 -0
  238. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_json_graph_exporter.py +0 -0
  239. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_json_graph_loader.py +0 -0
  240. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_json_graph_roundtrip.py +0 -0
  241. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_ldbc_loader.py +0 -0
  242. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_networkrepository_loader.py +0 -0
  243. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/executor/test_graph_functions.py +0 -0
  244. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_aggregation_functions_advanced.py +0 -0
  245. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_anonymous_relationships.py +0 -0
  246. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_builder_api.py +0 -0
  247. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_call_subqueries.py +0 -0
  248. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_case_expressions.py +0 -0
  249. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_collect.py +0 -0
  250. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_column_naming.py +0 -0
  251. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_compact_iso8601.py +0 -0
  252. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_complex_merge_patterns.py +0 -0
  253. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_complex_where_predicates.py +0 -0
  254. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_create_clause.py +0 -0
  255. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_create_edge_cases.py +0 -0
  256. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_delete_null.py +0 -0
  257. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_detach_delete.py +0 -0
  258. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_distinct_clause.py +0 -0
  259. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_e2e_queries.py +0 -0
  260. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_executor_edge_cases.py +0 -0
  261. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_exists_is_empty.py +0 -0
  262. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_hex_octal_literals.py +0 -0
  263. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_iana_timezones.py +0 -0
  264. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_id_function.py +0 -0
  265. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_issues_271_274.py +0 -0
  266. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_label_disjunction.py +0 -0
  267. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_label_predicate.py +0 -0
  268. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_list_comprehension.py +0 -0
  269. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_list_functions.py +0 -0
  270. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_list_operations.py +0 -0
  271. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_list_path_overloading.py +0 -0
  272. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_list_subscript.py +0 -0
  273. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_logical_operators.py +0 -0
  274. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_match_create.py +0 -0
  275. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_math_functions.py +0 -0
  276. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_math_functions_extended.py +0 -0
  277. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_merge_edge_cases.py +0 -0
  278. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_merge_on_create_real.py +0 -0
  279. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_merge_on_match_real.py +0 -0
  280. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_optimizer_aggregate_pushdown.py +0 -0
  281. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_optimizer_integration.py +0 -0
  282. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_optimizer_redundant_elimination.py +0 -0
  283. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_optional_match.py +0 -0
  284. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_optional_match_delete.py +0 -0
  285. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_path_binding.py +0 -0
  286. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_path_binding_variable_length.py +0 -0
  287. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_path_functions.py +0 -0
  288. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_pattern_comprehension.py +0 -0
  289. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_pattern_predicates.py +0 -0
  290. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_persistence.py +0 -0
  291. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_predicate_functions.py +0 -0
  292. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_relationship_directions.py +0 -0
  293. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_remove_clause.py +0 -0
  294. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_set_delete_merge.py +0 -0
  295. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_size_function.py +0 -0
  296. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_snap_dataset_loading.py +0 -0
  297. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_sort_after_aggregation.py +0 -0
  298. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_spatial_api.py +0 -0
  299. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_sqlite_persistence.py +0 -0
  300. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_string_functions.py +0 -0
  301. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_string_functions_new.py +0 -0
  302. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_string_matching.py +0 -0
  303. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_subquery_expressions.py +0 -0
  304. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_temporal_map_constructors.py +0 -0
  305. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_temporal_queries.py +0 -0
  306. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_transactions.py +0 -0
  307. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_union.py +0 -0
  308. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_unwind.py +0 -0
  309. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_variable_length_paths.py +0 -0
  310. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_wildcard_execution.py +0 -0
  311. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_with_aggregation_real.py +0 -0
  312. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_with_clause.py +0 -0
  313. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_with_clause_modifiers.py +0 -0
  314. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_with_distinct_skip_limit.py +0 -0
  315. {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_xor_operator.py +0 -0
  316. {graphforge-0.3.6 → graphforge-0.3.7}/tests/property/__init__.py +0 -0
  317. {graphforge-0.3.6 → graphforge-0.3.7}/tests/property/strategies.py +0 -0
  318. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/__init__.py +0 -0
  319. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/coverage_matrix.json +0 -0
  320. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/download_tck.py +0 -0
  321. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/Aggregation1_BasicAggregation.feature +0 -0
  322. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/Match1_SimpleMatches.feature +0 -0
  323. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/call/Call1.feature +0 -0
  324. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/call/Call2.feature +0 -0
  325. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/call/Call3.feature +0 -0
  326. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/call/Call4.feature +0 -0
  327. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/call/Call5.feature +0 -0
  328. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/call/Call6.feature +0 -0
  329. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/create/Create1.feature +0 -0
  330. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/create/Create2.feature +0 -0
  331. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/create/Create3.feature +0 -0
  332. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/create/Create4.feature +0 -0
  333. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/create/Create5.feature +0 -0
  334. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/create/Create6.feature +0 -0
  335. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/delete/Delete1.feature +0 -0
  336. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/delete/Delete2.feature +0 -0
  337. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/delete/Delete3.feature +0 -0
  338. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/delete/Delete4.feature +0 -0
  339. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/delete/Delete5.feature +0 -0
  340. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/delete/Delete6.feature +0 -0
  341. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match1.feature +0 -0
  342. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match2.feature +0 -0
  343. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match3.feature +0 -0
  344. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match4.feature +0 -0
  345. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match5.feature +0 -0
  346. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match6.feature +0 -0
  347. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match7.feature +0 -0
  348. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match8.feature +0 -0
  349. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match9.feature +0 -0
  350. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match-where/MatchWhere1.feature +0 -0
  351. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match-where/MatchWhere2.feature +0 -0
  352. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match-where/MatchWhere3.feature +0 -0
  353. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match-where/MatchWhere4.feature +0 -0
  354. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match-where/MatchWhere5.feature +0 -0
  355. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match-where/MatchWhere6.feature +0 -0
  356. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge1.feature +0 -0
  357. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge2.feature +0 -0
  358. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge3.feature +0 -0
  359. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge4.feature +0 -0
  360. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge5.feature +0 -0
  361. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge6.feature +0 -0
  362. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge7.feature +0 -0
  363. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge8.feature +0 -0
  364. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge9.feature +0 -0
  365. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/remove/Remove1.feature +0 -0
  366. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/remove/Remove2.feature +0 -0
  367. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/remove/Remove3.feature +0 -0
  368. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return1.feature +0 -0
  369. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return2.feature +0 -0
  370. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return3.feature +0 -0
  371. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return4.feature +0 -0
  372. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return5.feature +0 -0
  373. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return6.feature +0 -0
  374. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return7.feature +0 -0
  375. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return8.feature +0 -0
  376. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-orderby/ReturnOrderBy1.feature +0 -0
  377. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-orderby/ReturnOrderBy2.feature +0 -0
  378. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-orderby/ReturnOrderBy3.feature +0 -0
  379. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-orderby/ReturnOrderBy4.feature +0 -0
  380. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-orderby/ReturnOrderBy5.feature +0 -0
  381. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-orderby/ReturnOrderBy6.feature +0 -0
  382. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-skip-limit/ReturnSkipLimit1.feature +0 -0
  383. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-skip-limit/ReturnSkipLimit2.feature +0 -0
  384. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-skip-limit/ReturnSkipLimit3.feature +0 -0
  385. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/set/Set1.feature +0 -0
  386. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/set/Set2.feature +0 -0
  387. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/set/Set3.feature +0 -0
  388. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/set/Set4.feature +0 -0
  389. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/set/Set5.feature +0 -0
  390. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/set/Set6.feature +0 -0
  391. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/union/Union1.feature +0 -0
  392. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/union/Union2.feature +0 -0
  393. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/union/Union3.feature +0 -0
  394. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/unwind/Unwind1.feature +0 -0
  395. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with/With1.feature +0 -0
  396. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with/With2.feature +0 -0
  397. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with/With3.feature +0 -0
  398. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with/With4.feature +0 -0
  399. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with/With5.feature +0 -0
  400. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with/With6.feature +0 -0
  401. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with/With7.feature +0 -0
  402. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-orderBy/WithOrderBy1.feature +0 -0
  403. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-orderBy/WithOrderBy2.feature +0 -0
  404. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-orderBy/WithOrderBy3.feature +0 -0
  405. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-orderBy/WithOrderBy4.feature +0 -0
  406. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-skip-limit/WithSkipLimit1.feature +0 -0
  407. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-skip-limit/WithSkipLimit2.feature +0 -0
  408. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-skip-limit/WithSkipLimit3.feature +0 -0
  409. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-where/WithWhere1.feature +0 -0
  410. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-where/WithWhere2.feature +0 -0
  411. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-where/WithWhere3.feature +0 -0
  412. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-where/WithWhere4.feature +0 -0
  413. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-where/WithWhere5.feature +0 -0
  414. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-where/WithWhere6.feature +0 -0
  415. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-where/WithWhere7.feature +0 -0
  416. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation1.feature +0 -0
  417. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation2.feature +0 -0
  418. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation3.feature +0 -0
  419. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation4.feature +0 -0
  420. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation5.feature +0 -0
  421. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation6.feature +0 -0
  422. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation7.feature +0 -0
  423. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation8.feature +0 -0
  424. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/boolean/Boolean1.feature +0 -0
  425. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/boolean/Boolean2.feature +0 -0
  426. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/boolean/Boolean3.feature +0 -0
  427. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/boolean/Boolean4.feature +0 -0
  428. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/boolean/Boolean5.feature +0 -0
  429. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/comparison/Comparison1.feature +0 -0
  430. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/comparison/Comparison2.feature +0 -0
  431. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/comparison/Comparison3.feature +0 -0
  432. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/comparison/Comparison4.feature +0 -0
  433. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/conditional/Conditional1.feature +0 -0
  434. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/conditional/Conditional2.feature +0 -0
  435. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/existentialSubqueries/ExistentialSubquery1.feature +0 -0
  436. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/existentialSubqueries/ExistentialSubquery2.feature +0 -0
  437. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/existentialSubqueries/ExistentialSubquery3.feature +0 -0
  438. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph1.feature +0 -0
  439. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph2.feature +0 -0
  440. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph3.feature +0 -0
  441. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph4.feature +0 -0
  442. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph5.feature +0 -0
  443. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph6.feature +0 -0
  444. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph7.feature +0 -0
  445. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph8.feature +0 -0
  446. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph9.feature +0 -0
  447. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List1.feature +0 -0
  448. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List10.feature +0 -0
  449. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List11.feature +0 -0
  450. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List12.feature +0 -0
  451. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List2.feature +0 -0
  452. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List3.feature +0 -0
  453. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List4.feature +0 -0
  454. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List5.feature +0 -0
  455. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List6.feature +0 -0
  456. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List7.feature +0 -0
  457. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List8.feature +0 -0
  458. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List9.feature +0 -0
  459. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals1.feature +0 -0
  460. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals2.feature +0 -0
  461. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals3.feature +0 -0
  462. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals4.feature +0 -0
  463. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals5.feature +0 -0
  464. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals6.feature +0 -0
  465. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals7.feature +0 -0
  466. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals8.feature +0 -0
  467. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/map/Map1.feature +0 -0
  468. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/map/Map2.feature +0 -0
  469. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/map/Map3.feature +0 -0
  470. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical1.feature +0 -0
  471. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical10.feature +0 -0
  472. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical11.feature +0 -0
  473. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical12.feature +0 -0
  474. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical13.feature +0 -0
  475. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical14.feature +0 -0
  476. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical15.feature +0 -0
  477. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical16.feature +0 -0
  478. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical17.feature +0 -0
  479. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical2.feature +0 -0
  480. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical3.feature +0 -0
  481. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical4.feature +0 -0
  482. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical5.feature +0 -0
  483. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical6.feature +0 -0
  484. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical7.feature +0 -0
  485. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical8.feature +0 -0
  486. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical9.feature +0 -0
  487. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/null/Null1.feature +0 -0
  488. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/null/Null2.feature +0 -0
  489. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/null/Null3.feature +0 -0
  490. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/path/Path1.feature +0 -0
  491. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/path/Path2.feature +0 -0
  492. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/path/Path3.feature +0 -0
  493. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/pattern/Pattern1.feature +0 -0
  494. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/pattern/Pattern2.feature +0 -0
  495. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/precedence/Precedence1.feature +0 -0
  496. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/precedence/Precedence2.feature +0 -0
  497. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/precedence/Precedence3.feature +0 -0
  498. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/precedence/Precedence4.feature +0 -0
  499. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier1.feature +0 -0
  500. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier10.feature +0 -0
  501. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier11.feature +0 -0
  502. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier12.feature +0 -0
  503. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier2.feature +0 -0
  504. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier3.feature +0 -0
  505. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier4.feature +0 -0
  506. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier5.feature +0 -0
  507. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier6.feature +0 -0
  508. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier7.feature +0 -0
  509. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier8.feature +0 -0
  510. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier9.feature +0 -0
  511. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String1.feature +0 -0
  512. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String10.feature +0 -0
  513. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String11.feature +0 -0
  514. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String12.feature +0 -0
  515. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String13.feature +0 -0
  516. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String14.feature +0 -0
  517. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String2.feature +0 -0
  518. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String3.feature +0 -0
  519. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String4.feature +0 -0
  520. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String5.feature +0 -0
  521. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String6.feature +0 -0
  522. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String7.feature +0 -0
  523. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String8.feature +0 -0
  524. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String9.feature +0 -0
  525. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal1.feature +0 -0
  526. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal10.feature +0 -0
  527. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal2.feature +0 -0
  528. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal3.feature +0 -0
  529. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal4.feature +0 -0
  530. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal5.feature +0 -0
  531. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal6.feature +0 -0
  532. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal7.feature +0 -0
  533. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal8.feature +0 -0
  534. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal9.feature +0 -0
  535. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/typeConversion/TypeConversion1.feature +0 -0
  536. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/typeConversion/TypeConversion2.feature +0 -0
  537. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/typeConversion/TypeConversion3.feature +0 -0
  538. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/typeConversion/TypeConversion4.feature +0 -0
  539. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/typeConversion/TypeConversion5.feature +0 -0
  540. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/typeConversion/TypeConversion6.feature +0 -0
  541. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/useCases/countingSubgraphMatches/CountingSubgraphMatches1.feature +0 -0
  542. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/useCases/triadicSelection/TriadicSelection1.feature +0 -0
  543. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/graphs/binary-tree-1/binary-tree-1.cypher +0 -0
  544. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/graphs/binary-tree-1/binary-tree-1.json +0 -0
  545. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/graphs/binary-tree-2/binary-tree-2.cypher +0 -0
  546. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/graphs/binary-tree-2/binary-tree-2.json +0 -0
  547. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/graphs/named-graphs.adoc +0 -0
  548. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/tck_markers.py +0 -0
  549. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/test_features.py +0 -0
  550. {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/test_tck_compliance.py +0 -0
  551. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/__init__.py +0 -0
  552. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/api/__init__.py +0 -0
  553. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/api/test_clear.py +0 -0
  554. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/api/test_clone.py +0 -0
  555. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/api/test_cypher_value_conversion.py +0 -0
  556. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/ast/__init__.py +0 -0
  557. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/ast/test_ast_nodes.py +0 -0
  558. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/__init__.py +0 -0
  559. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_csv_loader.py +0 -0
  560. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_cypher_loader.py +0 -0
  561. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_graphml_loader.py +0 -0
  562. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_json_graph_exporter.py +0 -0
  563. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_json_graph_format.py +0 -0
  564. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_json_graph_loader.py +0 -0
  565. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_ldbc_schema.py +0 -0
  566. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_networkrepository.py +0 -0
  567. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_registry.py +0 -0
  568. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_snap_datasets.py +0 -0
  569. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_sources_registration.py +0 -0
  570. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/__init__.py +0 -0
  571. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_aggregation_errors.py +0 -0
  572. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_aggregation_functions_advanced.py +0 -0
  573. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_evaluator_additional_coverage.py +0 -0
  574. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_evaluator_error_paths.py +0 -0
  575. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_executor_error_paths.py +0 -0
  576. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_expression_matching.py +0 -0
  577. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_expressions_match.py +0 -0
  578. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_graph_functions.py +0 -0
  579. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_id_function.py +0 -0
  580. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_in_operator.py +0 -0
  581. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_list_functions.py +0 -0
  582. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_list_functions_errors.py +0 -0
  583. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_map_property_access.py +0 -0
  584. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_merge_on_create.py +0 -0
  585. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_merge_on_match.py +0 -0
  586. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_multihop_create.py +0 -0
  587. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_optional_scan_coverage.py +0 -0
  588. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_path_functions.py +0 -0
  589. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_sort_edge_cases.py +0 -0
  590. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_spatial_functions.py +0 -0
  591. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_string_functions_new.py +0 -0
  592. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_subquery_planner_check.py +0 -0
  593. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_temporal_functions.py +0 -0
  594. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_temporal_truncate_arithmetic.py +0 -0
  595. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_three_valued_logic.py +0 -0
  596. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_undirected_relationship_bugs.py +0 -0
  597. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_with_aggregation.py +0 -0
  598. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/__init__.py +0 -0
  599. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_aggregate_pushdown.py +0 -0
  600. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_cost_model.py +0 -0
  601. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_filter_pushdown.py +0 -0
  602. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_join_reorder.py +0 -0
  603. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_optimizer_reuse.py +0 -0
  604. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_predicate_reorder.py +0 -0
  605. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_predicate_utils.py +0 -0
  606. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_redundant_elimination.py +0 -0
  607. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_statistics.py +0 -0
  608. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/__init__.py +0 -0
  609. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_arithmetic_parser.py +0 -0
  610. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_case_parser.py +0 -0
  611. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_collect_parser.py +0 -0
  612. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_delete_parser.py +0 -0
  613. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_grammar.py +0 -0
  614. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_hex_octal_literals.py +0 -0
  615. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_label_predicate_parser.py +0 -0
  616. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_merge_on_create.py +0 -0
  617. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_merge_on_match.py +0 -0
  618. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_optional_match_delete.py +0 -0
  619. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_parser_caching.py +0 -0
  620. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_path_binding.py +0 -0
  621. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_pattern_predicates.py +0 -0
  622. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_remove_parser.py +0 -0
  623. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_string_matching_parser.py +0 -0
  624. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_wildcard_parsing.py +0 -0
  625. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_with_at_query_start.py +0 -0
  626. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/__init__.py +0 -0
  627. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_expand_multi_hop_operator.py +0 -0
  628. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_operators.py +0 -0
  629. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_planner_comprehensive.py +0 -0
  630. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_remove_planner.py +0 -0
  631. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_type_tracking.py +0 -0
  632. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_with_validation.py +0 -0
  633. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/__init__.py +0 -0
  634. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/test_graph_edge_cases.py +0 -0
  635. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/test_memory_store.py +0 -0
  636. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/test_pydantic_serialization.py +0 -0
  637. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/test_serialization_edge_cases.py +0 -0
  638. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/test_spatial_serialization.py +0 -0
  639. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/test_sqlite_backend_adjacency.py +0 -0
  640. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/test_temporal_serialization.py +0 -0
  641. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/test_graph_elements.py +0 -0
  642. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/test_iana_timezone_construction.py +0 -0
  643. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/test_values.py +0 -0
  644. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/types/test_cypher_values_edge_cases.py +0 -0
  645. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/types/test_path_values.py +0 -0
  646. {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/types/test_spatial_values.py +0 -0
@@ -5,6 +5,42 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.3.7] - 2026-04-07
9
+
10
+ ### Added - Functions
11
+ - **Math functions: e, pi, exp, log, log10, trig, degrees, radians, timestamp** (#326) — full set of mathematical and trigonometric functions per openCypher spec
12
+ - **`startNode()` and `endNode()` graph functions** (#318) — extract the start/end node from a relationship
13
+ - **`properties()` and `keys()` graph functions** (#316) — inspect node/relationship property maps and key sets
14
+ - **List concatenation `+` operator** (#315) — `[1,2] + [3,4]` → `[1,2,3,4]`
15
+ - **Map subscript access `m['key']`** (#314) — dynamic map property lookup
16
+ - **Exponent float notation and leading-dot floats** (#311) — `1.5e3`, `.5` now parsed correctly
17
+
18
+ ### Fixed - Sorting & Aggregation
19
+ - **ORDER BY mixed-type sort ordering** (#320) — values of different Cypher types now sort in the correct openCypher type hierarchy order
20
+ - **Aggregation in composite expressions and ORDER BY** (#329) — `count(n) + 1`, `ORDER BY count(n)` and similar patterns now evaluate correctly
21
+ - **Validate ORDER BY aggregation expressions at compile time** (#331) — non-aggregated variables in aggregating ORDER BY now raise a clear error
22
+ - **Detect non-projected ORDER BY aggregates at compile time** (#332) — aggregates in ORDER BY that aren't in the projection are caught early
23
+
24
+ ### Fixed - Expression Evaluation
25
+ - **Operator precedence, null propagation, and type coercion** (#321) — `NOT`, `AND`, `OR` precedence; null propagation in arithmetic; integer/float coercion edge cases
26
+ - **Type conversion TypeError/null per openCypher spec** (#327) — `toInteger()`, `toFloat()`, `toString()` now return `null` on unconvertible input per spec
27
+ - **List equality with null uses three-valued logic** (#330) — `[1, null] = [1, null]` now correctly returns `null`
28
+ - **NaN handling in comparisons, arithmetic, and sort** (#323) — NaN propagation and sort position per openCypher spec
29
+ - **SKIP/LIMIT accept expression values** (#319) — `SKIP toInteger(n.offset)` and similar dynamic skip/limit values now work
30
+
31
+ ### Fixed - Parser & Clause Gaps
32
+ - **WITH keyword position gaps** (#310) — `WITH` is now accepted after `SET`, `REMOVE`, `DELETE`, and in chained multi-part queries
33
+ - **ASCENDING/DESCENDING keywords** (#312) — `ORDER BY n.name ASCENDING` / `DESCENDING` now parse correctly; removed stale xfail markers (#325)
34
+ - **`NodeRef`/`EdgeRef` comparison methods** (#313) — nodes and relationships are now sortable and comparable by identity
35
+
36
+ ### Fixed - Graph Semantics
37
+ - **Relationship uniqueness in MATCH patterns** (#333) — runtime enforcement that the same physical edge cannot fill two relationship variables in one MATCH pattern; extended to anonymous multi-hop rels and path-variable (`ExpandMultiHop`) patterns
38
+ - **Temporal select-into constructors** (#334) — cross-type temporal projection (`date({date: other})`, `localdatetime({datetime: dt})`, etc.) with component overrides; null propagation, hour-overflow normalization, and timezone conversion all correct
39
+
40
+ ### TCK Coverage
41
+ - **~2,894 passing** (up from ~2,507 at v0.3.6) — +387 net new passing scenarios
42
+ - Theme: ORDER BY correctness, aggregation, operator precedence, graph semantics, temporal completeness
43
+
8
44
  ## [0.3.6] - 2026-02-28
9
45
 
10
46
  ### Fixed - TCK Harness Correctness
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphforge
3
- Version: 0.3.6
3
+ Version: 0.3.7
4
4
  Summary: Composable graph tooling for analysis, construction, and refinement
5
5
  Project-URL: Homepage, https://github.com/DecisionNerd/graphforge
6
6
  Project-URL: Repository, https://github.com/DecisionNerd/graphforge
@@ -1,7 +1,7 @@
1
1
  # OpenCypher Compatibility Status
2
2
 
3
- **Last Updated:** 2026-02-16
4
- **GraphForge Version:** v0.4.0 (in progress)
3
+ **Last Updated:** 2026-04-07
4
+ **GraphForge Version:** v0.3.7
5
5
 
6
6
  ---
7
7
 
@@ -45,7 +45,9 @@ GraphForge implements a **practical subset of OpenCypher** focused on common gra
45
45
  | v0.1.4 | 638/3,837 | ~30% | Released |
46
46
  | v0.2.0 | 638/3,837 | ~40% | Released |
47
47
  | v0.2.1 | 638/3,837 | ~45% | Released |
48
- | v0.3.0 | 1,303/1,626 (34%) | **~78%** | **Released** (February 2026) |
48
+ | v0.3.0 | 1,303/1,626 (34%) | **~78%** | Released (February 2026) |
49
+ | v0.3.6 | 2,507/3,837 (65%) | **~85%** | Released (March 2026) |
50
+ | v0.3.7 | 2,894/3,837 (75%) | **~88%** | **Released** (April 2026) |
49
51
  | v1.0 | >3,800/3,837 | >99% | Goal (Full OpenCypher) |
50
52
 
51
53
  **Note:** TCK scenario counts updated to reflect actual passing scenarios (1,303 of 1,626 tested).
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "graphforge"
3
- version = "0.3.6"
3
+ version = "0.3.7"
4
4
  description = "Composable graph tooling for analysis, construction, and refinement"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -232,13 +232,13 @@ class LimitClause(BaseModel):
232
232
 
233
233
  Examples:
234
234
  LIMIT 10
235
- LIMIT 100
235
+ LIMIT 2 * 5
236
236
  LIMIT 0 (valid - returns no rows)
237
237
  """
238
238
 
239
- count: int = Field(..., ge=0, description="Maximum number of rows")
239
+ count: Any = Field(..., description="Maximum number of rows (integer expression)")
240
240
 
241
- model_config = {"frozen": True}
241
+ model_config = {"frozen": True, "arbitrary_types_allowed": True}
242
242
 
243
243
 
244
244
  class SkipClause(BaseModel):
@@ -246,12 +246,12 @@ class SkipClause(BaseModel):
246
246
 
247
247
  Examples:
248
248
  SKIP 5
249
- SKIP 20
249
+ SKIP 2 + 3
250
250
  """
251
251
 
252
- count: int = Field(..., ge=0, description="Number of rows to skip")
252
+ count: Any = Field(..., description="Number of rows to skip (integer expression)")
253
253
 
254
- model_config = {"frozen": True}
254
+ model_config = {"frozen": True, "arbitrary_types_allowed": True}
255
255
 
256
256
 
257
257
  class OrderByItem(BaseModel):