What is missing?
In the engineering domain, we deal with so-called functional data which show how components are connected and work together. That results in a lot of submodels that consist in a large part of model references that are quiet large, i.e., 100s of MBs. Many of our partner companies require a subset of a join of these submodels. Those partners typicall have a small IT-department of web-developers, but not AAS experts.
The spec is currently missing a way to retrieve graph-like joined data from multiple submodels with a good developer experience.
The AAS QL lacks comprehensive support for select and join, and generally lacks any kind of developer support.
How should it be fixed?
We propose to introduce a GraphQL-API to the specification as it is a well-established web-technology, i.e., has frameworks and generators available in every programming language, that fulfills this purpose. The schema can be generated in large part from the AAS Openapi Spec and extended to accomodate for short-comings in the GraphQL spec (filtering, pagination, sorting).
What is missing?
In the engineering domain, we deal with so-called functional data which show how components are connected and work together. That results in a lot of submodels that consist in a large part of model references that are quiet large, i.e., 100s of MBs. Many of our partner companies require a subset of a join of these submodels. Those partners typicall have a small IT-department of web-developers, but not AAS experts.
The spec is currently missing a way to retrieve graph-like joined data from multiple submodels with a good developer experience.
The AAS QL lacks comprehensive support for select and join, and generally lacks any kind of developer support.
How should it be fixed?
We propose to introduce a GraphQL-API to the specification as it is a well-established web-technology, i.e., has frameworks and generators available in every programming language, that fulfills this purpose. The schema can be generated in large part from the AAS Openapi Spec and extended to accomodate for short-comings in the GraphQL spec (filtering, pagination, sorting).
Generated Schema
Extension Schema
I have signed the required Developer Certificate of Origin (DCO) already.