Paging or pagination is a common pattern to cope with huge result lists. Especially GetAllAssetAdministrationShells or GetAllSubmodels can easily return thousands or millions of objects.
Patterns could be:
- (Max)pagesize plus page number
- Limit and offset
- Server-side paging using a next link parameter (e.g. https://learn.microsoft.com/en-us/odata/client/pagination#server-driven-paging)
- client-side paging using $skip and $top (might be the same pattern as 2.) (e.g. https://learn.microsoft.com/en-us/odata/client/pagination#client-driven-paging)
Prerequisite: The AAS Identifiables (or all AAS elements?) need to have a natural or selectable order, e.g., alphabetical, chronological, by relevance etc.
Challenge: Even one Submodel could become arbitrarily large, which might require partitions also within one Identifiable.