Skip to content

Conversation

@kmcginnes
Copy link
Collaborator

Description

  • Adds edge connection discovery in schema sync process
    • Works in all 3 query languages

Validation

  • Tested all 3 query languages schema sync

Related Issues

Check List

  • I confirm that my contribution is made under the terms of the Apache 2.0
    license.
  • I have run pnpm checks to ensure code compiles and meets standards.
  • I have run pnpm test to check if all tests are passing.
  • I have covered new added functionality with unit tests if necessary.
  • I have added an entry in the Changelog.md.

- Add EdgeConnection interface with edgeType, sourceLabel, targetLabel, count
- Add edgeConnections field to Schema type
- Extend SchemaResponse in connector with edgeConnections
- Add createRandomEdgeConnection test utility
- Add property test for edge connection serialization round-trip
- Install fast-check for property-based testing
- Add edgeConnectionsTemplate.ts with Gremlin query for edge connections
- Add fetchEdgeConnections function with multi-label support (:: separator)
- Integrate edge connections into Gremlin schema response
- Add property tests for splitGremlinLabels and expandEdgeConnections
…pher

- Add edgeConnectionsTemplate.ts with OpenCypher query for edge connections
- Add fetchEdgeConnections function with multi-label support (label arrays)
- Use Zod schema for response validation
- Integrate edge connections into OpenCypher schema response
- Add property tests for expandEdgeConnections
- Fix Gremlin splitGremlinLabels test to exclude labels containing ':'
- Add edge-connections.json mock file for Gremlin fetchSchema test
- Update Gremlin fetchSchema test to include edge connections mock and expected output
- Update OpenCypher fetchSchema tests to include edge connections mock
- Update configuration.test.ts to expect undefined edgeConnections (task 6 pending)
- Update globalMockFetch to include edge-connections.json mapping
- Add edgeConnections to SchemaInference type in schema.ts
- Update mergeConfiguration to include edgeConnections from schema
- Update saveConfigurationToFile to export edgeConnections
- Update configuration.test.ts to verify edgeConnections are preserved

Implements task 6: Update schema state management to handle edge connections
- Task 6.1: Update schema state to store edge connections
- Task 6.2: Update schema serialization for persistence
- Task 6.3: Property test for serialization round-trip (already existed)
@codecov
Copy link

codecov bot commented Jan 7, 2026

Codecov Report

❌ Patch coverage is 64.28571% with 35 lines in your changes missing coverage. Please review.
✅ Project coverage is 61.48%. Comparing base (c5affc5) to head (3297951).
⚠️ Report is 29 commits behind head on main.

Files with missing lines Patch % Lines
...explorer/src/connector/sparql/fetchSchema/index.ts 10.52% 16 Missing and 1 partial ⚠️
...orer/src/connector/openCypher/fetchSchema/index.ts 53.33% 14 Missing ⚠️
...xplorer/src/connector/gremlin/fetchSchema/index.ts 95.00% 2 Missing ⚠️
...ctor/sparql/fetchSchema/edgeConnectionsTemplate.ts 0.00% 2 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1416       +/-   ##
===========================================
+ Coverage   47.81%   61.48%   +13.67%     
===========================================
  Files         382      318       -64     
  Lines        8525     6528     -1997     
  Branches     3159     2280      -879     
===========================================
- Hits         4076     4014       -62     
+ Misses       3070     1764     -1306     
+ Partials     1379      750      -629     
Flag Coverage Δ
unittests 61.48% <64.28%> (+13.67%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@kmcginnes
Copy link
Collaborator Author

Replaced by:

@kmcginnes kmcginnes closed this Jan 15, 2026
@kmcginnes kmcginnes deleted the feature/schema-edges branch January 15, 2026 21:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant