Skip to content

Inheritance Relationship Missing in JSON Schema Between Abstract and EO-Specific Classes #33

Description

@Teng-99

In the conceptual model defined in TDML Part 1, AI_EOTrainingDataset is derived from AI_AbstractTrainingDataset (and similarly for AI_EOTrainingData → AI_AbstractTrainingData, and AI_EOTask → AI_AbstractTask).

However, in the corresponding JSON Schemas, this inheritance relationship is not explicitly declared. For example:

https://schemas.opengis.net/trainingdml-ai/part2/1.0/ai_trainingDataset.json

https://schemas.opengis.net/trainingdml-ai/part2/1.0/ai_eoTrainingDataset.json

Although JSON Schema does not natively support inheritance, it can be modeled indirectly using keywords such as allOf or oneOf. See the following reference for details:
https://json-schema.org/blog/posts/modelling-inheritance#representing-our-models-using-constraints

Impact on Conformance Testing

This missing inheritance representation leads to issues in the conformance test implementation. Specifically:

Item withtype="AI_EOTrainingDataset" is not recognized as AI_AbstractTrainingDataset

Since ai_trainingDataset.json requires the type field to be AI_AbstractTrainingDataset, any file whose type is AI_EOTrainingDataset will fail Abstract Test 11 in TDML Part 2.

Related issue:
opengeospatial/ets-trainingdmlai10-part2#35

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions