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.
- {graphforge-0.3.6 → graphforge-0.3.7}/CHANGELOG.md +36 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/PKG-INFO +1 -1
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/opencypher-compatibility.md +5 -3
- {graphforge-0.3.6 → graphforge-0.3.7}/pyproject.toml +1 -1
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/ast/clause.py +6 -6
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/executor/evaluator.py +546 -110
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/executor/executor.py +219 -151
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/optimizer/join_reorder.py +6 -1
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/parser/cypher.lark +27 -20
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/parser/parser.py +79 -45
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/planner/operators.py +15 -7
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/planner/planner.py +416 -30
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/types/graph.py +68 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/types/values.py +22 -12
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_aggregation_edge_cases.py +110 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_arithmetic.py +7 -6
- graphforge-0.3.7/tests/integration/test_graph_element_comparison.py +123 -0
- graphforge-0.3.7/tests/integration/test_list_concatenation.py +110 -0
- graphforge-0.3.7/tests/integration/test_map_subscript.py +89 -0
- graphforge-0.3.7/tests/integration/test_math_functions_new.py +248 -0
- graphforge-0.3.7/tests/integration/test_mixed_type_sort.py +107 -0
- graphforge-0.3.7/tests/integration/test_nan_handling.py +194 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_null_handling.py +56 -10
- graphforge-0.3.7/tests/integration/test_operator_precedence.py +260 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_power_operator.py +24 -24
- graphforge-0.3.7/tests/integration/test_properties_keys_functions.py +136 -0
- graphforge-0.3.7/tests/integration/test_relationship_uniqueness.py +147 -0
- graphforge-0.3.7/tests/integration/test_skip_limit_expressions.py +76 -0
- graphforge-0.3.7/tests/integration/test_startnode_endnode_functions.py +57 -0
- graphforge-0.3.7/tests/integration/test_temporal_select_into.py +392 -0
- graphforge-0.3.7/tests/integration/test_type_conversion_fixes.py +185 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_type_functions.py +12 -10
- graphforge-0.3.7/tests/integration/test_with_clause_positions.py +108 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/conftest.py +50 -16
- graphforge-0.3.7/tests/tck/tck_config.yaml +289 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_arithmetic_evaluator.py +20 -9
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_evaluator.py +40 -34
- graphforge-0.3.7/tests/unit/executor/test_properties_keys_errors.py +36 -0
- graphforge-0.3.7/tests/unit/executor/test_startnode_endnode_errors.py +53 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_string_matching_evaluator.py +22 -40
- graphforge-0.3.7/tests/unit/executor/test_type_conversion_complex.py +110 -0
- graphforge-0.3.7/tests/unit/parser/test_float_literals.py +150 -0
- graphforge-0.3.7/tests/unit/parser/test_order_by_direction.py +62 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_parser.py +10 -6
- graphforge-0.3.7/tests/unit/parser/test_with_clause_positions.py +41 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_operator_validation.py +8 -6
- graphforge-0.3.7/tests/unit/planner/test_planner_branch_coverage.py +678 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_planner_edge_cases.py +4 -2
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/types/test_cypher_values_deep_equality.py +3 -4
- graphforge-0.3.7/tests/unit/types/test_graph_element_edge_cases.py +257 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/types/test_temporal_values.py +2 -2
- {graphforge-0.3.6 → graphforge-0.3.7}/uv.lock +1 -1
- graphforge-0.3.6/tests/tck/tck_config.yaml +0 -137
- graphforge-0.3.6/tests/unit/executor/test_type_conversion_complex.py +0 -423
- graphforge-0.3.6/tests/unit/planner/test_planner_branch_coverage.py +0 -401
- graphforge-0.3.6/tests/unit/types/test_graph_element_edge_cases.py +0 -95
- {graphforge-0.3.6 → graphforge-0.3.7}/.codecov.yml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.coderabbit.yaml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.editorconfig +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/CODEOWNERS +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/ISSUE_TEMPLATE/question.yml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/ISSUE_WORKFLOW.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/SECURITY.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/dependabot.yml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/pull_request_template.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/workflows/README.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/workflows/changelog-check.yml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/workflows/docs.yml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/workflows/pr-labeler.yml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/workflows/publish.yaml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/workflows/release-tracking.yml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.github/workflows/test.yml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.gitignore +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/.pre-commit-config.yaml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/CHANGELOG_v0.3.0.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/CLAUDE.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/CODE_OF_CONDUCT.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/CONTRIBUTING.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/IMPLEMENTATION_PLAN.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/LICENSE +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/Makefile +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/README.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/RELEASING.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/coverage.json +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/architecture/ast-and-planning.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/architecture/execution-model.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/architecture/overview.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/architecture/storage-analysis.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/architecture/storage.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/community/code-of-conduct.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/community/security.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/cypher-guide.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/datasets/cypher-script-loading.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/datasets/ldbc.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/datasets/neo4j-examples.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/datasets/networkrepository.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/datasets/overview.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/datasets/snap.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/QUICKSTART_V0.2.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/codecov-integration.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/contributing.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/documentation-update-summary.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/phase-1a-completion-report.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/release-process.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/release-strategy.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/requirements.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/session-2026-01-31-cicd-infrastructure.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/session-2026-01-31-documentation.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/session-2026-01-31-regression-fix.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/session-2026-01-31-with-clause.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/session-2026-02-01-codecov-setup.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/session-2026-02-01-column-naming-investigation.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/session-summary.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/tck-session-2026-01-31-final.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/sessions/tck-session-2026-01-31.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/tck_baseline_analysis_v0.3.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/testing-setup-complete.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/testing.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/v0.2-plan-summary.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/v0.4-revised-plan.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/development/workflow.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/getting-started/installation.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/getting-started/quickstart.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/getting-started/tutorial.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/guide/cypher-guide.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/guide/graph-construction.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/guide/overview.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/index.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/INCOMPLETE_FEATURES_ISSUES.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/README.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/RELEASE_TRACKING.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/VALIDATION_REPORT.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/api.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/changelog.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/column-naming-behavior.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/feature-aggregation-functions.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/feature-graph-queries.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/feature-graph-schema.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/feature-mapping/clause-to-tck.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/feature-mapping/function-to-tck.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/feature-order-by.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/feature-return-aliasing.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/implementation-status/clauses.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/implementation-status/functions.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/implementation-status/operators.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/implementation-status/patterns.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/opencypher-compatibility-matrix.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/opencypher-features/01-clauses.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/opencypher-features/02-functions.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/opencypher-features/03-operators.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/opencypher-features/04-patterns.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/opencypher-features/05-data-types.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/tck-compliance.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/reference/tck-inventory.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/releases/implementation-summary.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/releases/next-steps.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/releases/phase-1-complete.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/releases/phase-2-complete.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/releases/phase-3-complete.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/releases/roadmap.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/stylesheets/extra.css +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/docs/use-cases/agent-grounding.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/examples/01_social_network.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/examples/02_knowledge_graph.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/examples/03_data_lineage.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/examples/04_citation_network.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/examples/05_migration_from_networkx.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/examples/agent_grounding/ecommerce_agent.ipynb +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/examples/basic_graph.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/examples/basic_usage.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/mkdocs.yml +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/scripts/build_feature_graph.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/scripts/bump_version.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/scripts/check_release_needed.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/scripts/inventory_tck.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/scripts/pre-push-check.sh +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/scripts/tck_metrics.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/scripts/validate_datasets.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/api.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/ast/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/ast/expression.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/ast/pattern.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/ast/query.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/base.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/data/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/data/networkrepository.json +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/data/snap.json +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/exporters/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/exporters/json_graph.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/formats/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/formats/json_graph.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/compression.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/csv.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/cypher.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/graphml.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/json_graph.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/ldbc.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/loaders/ldbc_schema.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/registry.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/sources/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/sources/graphml.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/sources/json_graph.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/sources/ldbc.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/sources/networkrepository.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/datasets/sources/snap.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/executor/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/optimizer/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/optimizer/cost_model.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/optimizer/optimizer.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/optimizer/predicate_utils.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/optimizer/statistics.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/parser/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/planner/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/planner/types.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/storage/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/storage/memory.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/storage/pydantic_serialization.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/storage/serialization.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/storage/sqlite_backend.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/src/graphforge/types/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/README.md +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/conftest.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/conftest.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_compression.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_cypher_loader_docs.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_end_to_end_workflows.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_graphml_loader.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_json_graph_exporter.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_json_graph_loader.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_json_graph_roundtrip.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_ldbc_loader.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/datasets/test_networkrepository_loader.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/executor/test_graph_functions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_aggregation_functions_advanced.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_anonymous_relationships.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_builder_api.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_call_subqueries.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_case_expressions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_collect.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_column_naming.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_compact_iso8601.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_complex_merge_patterns.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_complex_where_predicates.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_create_clause.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_create_edge_cases.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_delete_null.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_detach_delete.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_distinct_clause.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_e2e_queries.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_executor_edge_cases.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_exists_is_empty.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_hex_octal_literals.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_iana_timezones.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_id_function.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_issues_271_274.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_label_disjunction.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_label_predicate.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_list_comprehension.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_list_functions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_list_operations.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_list_path_overloading.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_list_subscript.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_logical_operators.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_match_create.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_math_functions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_math_functions_extended.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_merge_edge_cases.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_merge_on_create_real.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_merge_on_match_real.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_optimizer_aggregate_pushdown.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_optimizer_integration.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_optimizer_redundant_elimination.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_optional_match.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_optional_match_delete.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_path_binding.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_path_binding_variable_length.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_path_functions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_pattern_comprehension.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_pattern_predicates.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_persistence.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_predicate_functions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_relationship_directions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_remove_clause.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_set_delete_merge.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_size_function.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_snap_dataset_loading.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_sort_after_aggregation.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_spatial_api.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_sqlite_persistence.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_string_functions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_string_functions_new.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_string_matching.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_subquery_expressions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_temporal_map_constructors.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_temporal_queries.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_transactions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_union.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_unwind.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_variable_length_paths.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_wildcard_execution.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_with_aggregation_real.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_with_clause.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_with_clause_modifiers.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_with_distinct_skip_limit.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/integration/test_xor_operator.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/property/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/property/strategies.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/coverage_matrix.json +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/download_tck.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/Aggregation1_BasicAggregation.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/Match1_SimpleMatches.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/call/Call1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/call/Call2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/call/Call3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/call/Call4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/call/Call5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/call/Call6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/create/Create1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/create/Create2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/create/Create3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/create/Create4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/create/Create5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/create/Create6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/delete/Delete1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/delete/Delete2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/delete/Delete3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/delete/Delete4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/delete/Delete5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/delete/Delete6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match7.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match8.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match/Match9.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match-where/MatchWhere1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match-where/MatchWhere2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match-where/MatchWhere3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match-where/MatchWhere4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match-where/MatchWhere5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/match-where/MatchWhere6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge7.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge8.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/merge/Merge9.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/remove/Remove1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/remove/Remove2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/remove/Remove3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return7.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return/Return8.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-orderby/ReturnOrderBy1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-orderby/ReturnOrderBy2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-orderby/ReturnOrderBy3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-orderby/ReturnOrderBy4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-orderby/ReturnOrderBy5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-orderby/ReturnOrderBy6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-skip-limit/ReturnSkipLimit1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-skip-limit/ReturnSkipLimit2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/return-skip-limit/ReturnSkipLimit3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/set/Set1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/set/Set2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/set/Set3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/set/Set4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/set/Set5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/set/Set6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/union/Union1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/union/Union2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/union/Union3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/unwind/Unwind1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with/With1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with/With2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with/With3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with/With4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with/With5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with/With6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with/With7.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-orderBy/WithOrderBy1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-orderBy/WithOrderBy2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-orderBy/WithOrderBy3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-orderBy/WithOrderBy4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-skip-limit/WithSkipLimit1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-skip-limit/WithSkipLimit2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-skip-limit/WithSkipLimit3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-where/WithWhere1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-where/WithWhere2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-where/WithWhere3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-where/WithWhere4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-where/WithWhere5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-where/WithWhere6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/clauses/with-where/WithWhere7.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation7.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/aggregation/Aggregation8.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/boolean/Boolean1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/boolean/Boolean2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/boolean/Boolean3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/boolean/Boolean4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/boolean/Boolean5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/comparison/Comparison1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/comparison/Comparison2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/comparison/Comparison3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/comparison/Comparison4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/conditional/Conditional1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/conditional/Conditional2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/existentialSubqueries/ExistentialSubquery1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/existentialSubqueries/ExistentialSubquery2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/existentialSubqueries/ExistentialSubquery3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph7.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph8.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/graph/Graph9.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List10.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List11.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List12.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List7.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List8.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/list/List9.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals7.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/literals/Literals8.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/map/Map1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/map/Map2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/map/Map3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical10.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical11.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical12.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical13.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical14.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical15.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical16.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical17.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical7.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical8.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/mathematical/Mathematical9.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/null/Null1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/null/Null2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/null/Null3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/path/Path1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/path/Path2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/path/Path3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/pattern/Pattern1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/pattern/Pattern2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/precedence/Precedence1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/precedence/Precedence2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/precedence/Precedence3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/precedence/Precedence4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier10.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier11.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier12.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier7.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier8.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/quantifier/Quantifier9.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String10.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String11.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String12.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String13.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String14.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String7.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String8.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/string/String9.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal10.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal7.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal8.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/temporal/Temporal9.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/typeConversion/TypeConversion1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/typeConversion/TypeConversion2.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/typeConversion/TypeConversion3.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/typeConversion/TypeConversion4.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/typeConversion/TypeConversion5.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/expressions/typeConversion/TypeConversion6.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/useCases/countingSubgraphMatches/CountingSubgraphMatches1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/features/official/useCases/triadicSelection/TriadicSelection1.feature +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/graphs/binary-tree-1/binary-tree-1.cypher +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/graphs/binary-tree-1/binary-tree-1.json +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/graphs/binary-tree-2/binary-tree-2.cypher +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/graphs/binary-tree-2/binary-tree-2.json +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/graphs/named-graphs.adoc +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/tck_markers.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/test_features.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/tck/test_tck_compliance.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/api/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/api/test_clear.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/api/test_clone.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/api/test_cypher_value_conversion.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/ast/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/ast/test_ast_nodes.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_csv_loader.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_cypher_loader.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_graphml_loader.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_json_graph_exporter.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_json_graph_format.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_json_graph_loader.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_ldbc_schema.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_networkrepository.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_registry.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_snap_datasets.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/datasets/test_sources_registration.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_aggregation_errors.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_aggregation_functions_advanced.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_evaluator_additional_coverage.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_evaluator_error_paths.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_executor_error_paths.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_expression_matching.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_expressions_match.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_graph_functions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_id_function.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_in_operator.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_list_functions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_list_functions_errors.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_map_property_access.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_merge_on_create.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_merge_on_match.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_multihop_create.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_optional_scan_coverage.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_path_functions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_sort_edge_cases.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_spatial_functions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_string_functions_new.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_subquery_planner_check.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_temporal_functions.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_temporal_truncate_arithmetic.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_three_valued_logic.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_undirected_relationship_bugs.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/executor/test_with_aggregation.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_aggregate_pushdown.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_cost_model.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_filter_pushdown.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_join_reorder.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_optimizer_reuse.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_predicate_reorder.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_predicate_utils.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_redundant_elimination.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/optimizer/test_statistics.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_arithmetic_parser.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_case_parser.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_collect_parser.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_delete_parser.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_grammar.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_hex_octal_literals.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_label_predicate_parser.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_merge_on_create.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_merge_on_match.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_optional_match_delete.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_parser_caching.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_path_binding.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_pattern_predicates.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_remove_parser.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_string_matching_parser.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_wildcard_parsing.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/parser/test_with_at_query_start.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_expand_multi_hop_operator.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_operators.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_planner_comprehensive.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_remove_planner.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_type_tracking.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/planner/test_with_validation.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/__init__.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/test_graph_edge_cases.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/test_memory_store.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/test_pydantic_serialization.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/test_serialization_edge_cases.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/test_spatial_serialization.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/test_sqlite_backend_adjacency.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/storage/test_temporal_serialization.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/test_graph_elements.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/test_iana_timezone_construction.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/test_values.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/types/test_cypher_values_edge_cases.py +0 -0
- {graphforge-0.3.6 → graphforge-0.3.7}/tests/unit/types/test_path_values.py +0 -0
- {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.
|
|
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-
|
|
4
|
-
**GraphForge Version:** v0.
|
|
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%** |
|
|
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).
|
|
@@ -232,13 +232,13 @@ class LimitClause(BaseModel):
|
|
|
232
232
|
|
|
233
233
|
Examples:
|
|
234
234
|
LIMIT 10
|
|
235
|
-
LIMIT
|
|
235
|
+
LIMIT 2 * 5
|
|
236
236
|
LIMIT 0 (valid - returns no rows)
|
|
237
237
|
"""
|
|
238
238
|
|
|
239
|
-
count:
|
|
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
|
|
249
|
+
SKIP 2 + 3
|
|
250
250
|
"""
|
|
251
251
|
|
|
252
|
-
count:
|
|
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):
|