Skip to content

feat: implement GraphSAGE algorithm based on GeaFlow inference framework #679

Open
kitalkuyo-gita wants to merge 24 commits intoapache:masterfrom
kitalkuyo-gita:issue-677
Open

feat: implement GraphSAGE algorithm based on GeaFlow inference framework #679
kitalkuyo-gita wants to merge 24 commits intoapache:masterfrom
kitalkuyo-gita:issue-677

Conversation

@kitalkuyo-gita
Copy link
Contributor

What changes were proposed in this pull request?

Related to issue-677

How was this PR tested?

  • Tests have Added for the changes
  • Production environment verified

- Replace 'var' with 'IVertex<Object, List<Double>>' in GraphSAGECompute.java
- Fix compilation error in FeatureCollector.getVertexFeatures method
- Ensure compatibility with JDK 8 (var is Java 10+ feature)
- Resolve CI build failure on GitHub Actions

This change fixes the symbol not found error that occurred during Maven
compilation on JDK 8. The var keyword was introduced in Java 10 as local
variable type inference, but this project targets JDK 8.
… compatibility

- Replace 'new FileWriter(File, Charset)' with 'new OutputStreamWriter(new FileOutputStream(File), Charset)'
- Fix compilation errors in GraphSAGEInferIntegrationTest at lines 400, 547, and 555
- Ensure JDK 8 compatibility (FileWriter(File, Charset) is Java 11+ feature)
- Resolve test compilation failure on GitHub Actions CI

This change fixes three occurrences where FileWriter was constructed with
Charset parameter, which is not available in JDK 8. Using OutputStreamWriter
wrapper around FileOutputStream provides the same UTF-8 encoding support while
maintaining JDK 8 compatibility.
- Add Python 3.9 setup step using actions/setup-python@v4
- Install requirements from geaflow-dsl-plan/src/main/resources/requirements.txt
- Include pip cache to speed up subsequent builds
- Verify torch installation with pip list
- Enable full GraphSAGE integration tests in CI

This ensures all Python dependencies (torch, numpy, etc.) are available
for running the GraphSAGE integration tests, preventing ModuleNotFoundError
failures in CI.
This is an empty commit to trigger GitHub Actions CI pipeline.

Changes being tested:
- Python 3.9 setup in CI workflow
- Automatic installation of requirements.txt (torch, numpy, etc.)
- JDK 8 compatibility fixes (var keyword, FileWriter)

Expected result: GraphSAGE integration tests should pass with PyTorch available.
- Add Python 3.9 setup step using actions/setup-python@v4
- Install requirements from geaflow-dsl-plan/src/main/resources/requirements.txt
- Include pip cache to speed up subsequent builds
- Verify torch installation with pip list
- Enable full GraphSAGE integration tests in JDK 11 CI

This mirrors the Python dependency installation from JDK 8 workflow
and ensures GraphSAGE tests can run properly on both JDK versions.
@kitalkuyo-gita kitalkuyo-gita reopened this Mar 7, 2026
…tyle violations

- Remove unused import: ConnectedComponents
- Remove unused import: LabelPropagation
- Remove unused import: Louvain

These imports were added during merge but not actually used in the code.
Checkstyle was failing with UnusedImports warnings.
- Add import for ConnectedComponents class
- Register ConnectedComponents.class in buildInSqlFunctions list
- Fix GQLAlgorithmTest.testAlgorithmConnectedComponents test failure

The ConnectedComponents algorithm was incorrectly removed in previous
checkstyle fix, causing 'Cannot load graph algorithm implementation of cc' error.
- Add import for LabelPropagation class
- Register LabelPropagation.class in buildInSqlFunctions list
- Fix GQLAlgorithmTest.testAlgorithmLabelPropagation test failure

The LabelPropagation (lpa) algorithm was missing from the function table,
causing 'Cannot load graph algorithm implementation of lpa' error.
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