Description
We need to establish the foundational data structures for the cco-core library. According to ADR-001, we are using Pydantic to enforce the OAI-ORE (Object Reuse and Exchange) specification. These models will serve as the contract between the ingestion logic, the API, and the final JSON-LD output.
Context
The CCO Generator acts as a middleware. It needs internal Python objects that represent the complex citation graph before we serialize them to JSON-LD for export or storage.
Requirements
- Create a Pydantic model structure that reflects the OAI-ORE standard.
- The models must support serialization to JSON-LD.
- The models must support valid citation attributes (e.g., DOI, Title, Author, etc.).
Technical Scope (Suggested)
Based on the architecture document, we need three primary classes:
AggregatedResource: Represents the individual Linked Digital Object (LDO) (e.g., a specific dataset or software DOI).
Aggregation: The central collection object that groups the resources.
ResourceMap: The top-level wrapper document that describes the Aggregation.
Acceptance Criteria
References
Description
We need to establish the foundational data structures for the
cco-corelibrary. According to ADR-001, we are using Pydantic to enforce the OAI-ORE (Object Reuse and Exchange) specification. These models will serve as the contract between the ingestion logic, the API, and the final JSON-LD output.Context
The CCO Generator acts as a middleware. It needs internal Python objects that represent the complex citation graph before we serialize them to JSON-LD for export or storage.
Requirements
Technical Scope (Suggested)
Based on the architecture document, we need three primary classes:
AggregatedResource: Represents the individual Linked Digital Object (LDO) (e.g., a specific dataset or software DOI).Aggregation: The central collection object that groups the resources.ResourceMap: The top-level wrapper document that describes the Aggregation.Acceptance Criteria
References