The GraphQL Data Model PSM defines a single combined schema file for the Data Model and Service Model. defined by the PIM.
The schema supports GraphQL clients for the interfaces defined for the CMS and Subsystem components in the Service Model PIM. Mutations are used to invoke PIM interface methods; queries and subscriptions are used to process those invocations.
The PSM method for connecting to other components is through the underlying HTTPS web service connection. Web-sockets are used for subscription callbacks.
Specific rules for the MDA code generation from the Service Model PIM to the GraphQL PSM IDL are as follows:
•	Each interface method in the Service Model is mapped to a (query) type, an input type and update type based on the method parameters; these are for queries, mutations and subscriptions respectively.
•	To invoke a method a client makes a mutation.
•	To process a method a client makes a subscription or query.
•	The GraphQL schema Query type supports queries for any combination of interface methods in the Service Model.
•	The GraphQL schema Mutation type supports invocation of single or multiple instances of any combination of interface methods in the Service Model.
•	The GraphQL schema Subscription type supports subscription for any combination of interface methods in the Service Model.
•	The GraphQL PSM maps the request_all_navigation_data and request_navigation_data methods to the GraphQL subscription types.