apache / apache/incubator-graphar
[FEATURE][Java] Pure-Java GraphAr reader/writer implementation
- Dominant language
- C++
- Stars
- 373
- Forks
- 93
- Avg merge
- 7d 21h
- Merged PRs (30d)
- 7
Description
## Describe the enhancement requested
Track the production-driven pure-Java data-access implementation as one umbrella. The product fork develops it immediately and independently; this Apache issue organizes only the small upstreamable slices.
Component(s): Java
## Proposed layering
`graphar-info` -> storage API -> IO request/capability API -> Parquet backend -> GraphAr chunk/layout reader -> ordered-by-source `neighbors` and `scanEdges` -> writer/validator.
## Non-goals for the first vertical
No JNI/FastFFI, mandatory Arrow representation, general query AST, Gremlin, graph algorithms, ORC/CSV, unordered layouts, cloud storage, or integrations.
## Acceptance for the first vertical
A Java reader resolves `vertexId -> offsets -> minimum Parquet range -> destinations` for `ordered_by_source`, exposes streaming edge scans, and preserves the dependency boundary. Writer, other layouts, and adapters are separate small PRs after the reader is proven.
## Links
Architecture umbrella: #756. Compatibility/TCK umbrella: #944. Open a storage, IO, Parquet, reader, or writer subissue only when its independently verified fork slice is ready to be proposed upstream.
Contributor guide
Research direction
Start by reading the architecture umbrella in #756 and the compatibility/TCK umbrella in #944, then review the proposed layers from graphar-info through the Parquet backend and ordered_by_source reader. No file, test, or entry point is named; done means a separately verified slice can resolve vertex IDs to destinations, stream edge scans, and preserve the dependency boundary.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- data, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100