keksmd opened a new issue, #944: URL: https://github.com/apache/incubator-graphar/issues/944
## Problem Before adding storage or physical IO to the under-development pure-Java SDK, `graphar-info` must preserve GraphAr metadata accepted by C++ and by canonical fixtures. Current gaps include JSON file metadata, graph-level labels and extra metadata, parameterized list types, and primary-key nullability. This follows the pure-Java architecture discussion in #756 and depends on the edge-layout compatibility issue. ## Scope - Parse and serialize `file_type: json` used by `testing/ldbc_sample/json`. - Preserve graph-level `labels` and `extra_info` in load/save and immutable public metadata accessors. - Represent and round-trip logical `list<T>` types accepted by GraphAr (`int32`, `int64`, `float`, `double`, and `string`). - Enforce the GraphAr invariant that primary properties are non-nullable. - Add fixture-backed and semantic round-trip tests for each capability. ## Non-goals - Reading JSON payload data. - Adding a Parquet reader, Arrow, Hadoop/S3 implementations, a query AST, or graph algorithms. ## Acceptance criteria 1. The Java loader reads the canonical JSON metadata fixture and exposes `FileType.JSON`. 2. Java load/save preserves graph labels and `extra_info` key/value entries without emitting Java-specific YAML tags. 3. Every supported `list<T>` YAML type round-trips exactly and unsupported list child types fail before IO. 4. A YAML primary property with `is_nullable: true` is normalized to non-nullable, matching C++ GraphAr behavior. 5. Formatting and the full `graphar-info` Maven suite pass in the devcontainer. ## Links - Architecture discussion: #756 - Edge-layout compatibility is tracked separately. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
