Skip to main content
Gathering Interest

Support for Custom GraphQL Schemas & Query Resolvers in CDF to Enable Application Development

Related products:Data Modeling
  • June 5, 2025
  • 1 reply
  • 109 views

Andrew Montgomery
Practitioner
Forum|alt.badge.img+1

Posting on behalf of Koch Ag and Energy Solutions

 

Summary

We are requesting functionality to enable support for defining custom GraphQL schemas and resolvers on top of CDF. This capability would allow our team to build tailored, efficient APIs for operational applications that surface actionable insights from contextualized manufacturing data.

Context

We are using CDF to centralize and contextualize key plant data — including assets, sensor readings, events, shift logs, inspection documents, and relationships to business systems.

Our application team is developing internal tools for specific use case enablement.

These tools require fast and intuitive access to data, but CDF’s default GraphQL schema is too low-level for these user-facing applications.

Current Challenges

  • Our frontend developers must manually chain multiple queries to get asset status, performance trends, and associated work orders.
  • Common business logic (like calculating asset availability, filtering alarms, or joining time series to asset metadata) must be repeated in each app.
  • We cannot easily present business-specific views like “ProductionLineHealth” or “ShiftSummary” without building and maintaining our own middleware.

Requested Capabilities

We are asking for the ability to:

  1. Define custom GraphQL object types that aggregate and shape CDF data into operational concepts (e.g., ProductionLine, MachineStatus, DowntimeSummary)
  2. Implement custom query resolvers for calculated fields (e.g., OEE, MTBF, energy efficiency)
  3. Integrate external system data (e.g., SAP PM, shift logs, scheduling systems) into a unified query layer
  4. Apply business rules, KPIs, and filtering logic server-side for reuse across applications
  5. Secure the schema and field-level access based on user roles (operator vs planner, plant vs corporate)

Example Use Case

Custom Type: ProductionLineOverview

graphql

type ProductionLineOverview {
lineId: ID!
name: String
  currentThroughput: Float
  availability: Float
  topFiveAlarms: [Alarm]
openWorkOrders: [WorkOrder]energy
UseToday: Float
}

This schema would simplify dozens of low-level CDF queries into a single, reusable API call for our production dashboard.

Expected Value

Benefit Impact
Streamlined application development APIs are aligned with plant workflows, not just data structure
Lower integration effort Data from multiple sources can be presented in one logical schema
Faster time to insight Field users access actionable metrics in fewer steps
Consistent KPI logic Calculations like OEE or uptime are standardized
Broader adoption of CDF More teams (maintenance, operations, digital) can build on it directly

 

Potential Implementation Paths

  • Allow deployment of custom GraphQL services inside CDF projects (e.g., based on Apollo Server)
  • Provide schema extension hooks that pull and reshape data from CDF's GraphQL or REST APIs
  • Offer first-party support for calculated fields or composite objects in GraphQL
  • Enable hybrid access to external data systems within the same query context

Closing

This capability would significantly enhance how our teams leverage CDF in the field, drive app development efficiency, and improve visibility across operations.

We would be happy to participate in design validation or pilot this capability if/when it becomes available.

1 reply

Andrew Wagner
Committed
Forum|alt.badge.img+5

Great write up! This clearly articulates the problem, business need and potential solution ideas. Thanks for helping us out ​@Andrew Montgomery. Going to use this as a model for all future feature requests.