GraphQL Schema Design via Backend Data Source Introspection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing GraphQL API development techniques require significant manual effort and do not allow developers to intricately choose objects, fields, and operations during the development process, and they lack the capability to introspect different types of backend data sources.

Innovation Solution

A GraphQL API schema design system that enables the creation of a GraphQL API schema by introspecting various types of backend data sources, including relational databases and REST APIs, using introspection UI screens that allow users to select and introspect data sources and choose individual elements to include in the schema.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If manual schema definition is used, then developers can precisely define object types and fields, but the development process becomes time-consuming and requires considerable manual effort

Engineering Contradiction:
Improveschema definition precisionVSAvoiddevelopment time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system performs preliminary introspection of backend data sources to automatically generate GraphQL schema definitions before the developer needs to use them. This pre-computation of schema information from existing data models eliminates the time-consuming manual definition process while maintaining precision through the structured introspection results.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The backend data sources effectively define their own GraphQL schemas through the introspection process. The system extracts schema information automatically from the data sources themselves (tables, columns, relationships), allowing the data sources to self-describe their structure without requiring manual schema writing by developers.

Inventive Principle:
Principle #25Self-service

2Manufacturing precision

If manual schema definition is used, then developers can accurately describe object types and operations, but the process requires considerable manual effort

Engineering Contradiction:
Improveschema description accuracyVSAvoiddevelopment effort
Core Design Contradiction:
Manufacturing precisionVSEase of manufacture

Solution Approach 1:

The data sources automatically provide their structural information through introspection queries. The system extracts accurate descriptions of tables, columns, data types, and relationships directly from the backend sources, eliminating the need for developers to manually describe these elements while maintaining high accuracy through the structured data extraction process.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The manual mechanical process of writing schema definitions by hand is replaced with an automated system that programmatically introspects data sources and generates schema definitions. This substitution of automated code-based introspection for manual text-based schema writing reduces development effort while maintaining precision.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Extent of automation

If existing introspection techniques are used, then schema generation is automated, but they do not allow selection of individual elements and lack support for multiple data source types

Engineering Contradiction:
Improveschema generation automationVSAvoiddata source compatibility
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The system implements a universal introspection framework that can work with multiple types of backend data sources (relational databases, REST APIs, other GraphQL APIs). The same core introspection mechanism adapts to different data source types through configurable connection parameters and data source type identification, providing both automation and versatility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The schema generation process is segmented into distinct selectable elements (tables, columns, operations) that can be individually chosen by the user. This segmentation allows the automated system to present a structured selection process where users can pick specific elements from the introspected data sources, combining automation with granular control.

Inventive Principle:
Principle #1Segmentation

4Extent of automation

If existing introspection techniques are used, then some automation is provided, but they lack the capability to introspect different types of backend data sources

Engineering Contradiction:
Improveintrospection capabilityVSAvoiddata source type support
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The introspection system is designed with universal adaptability to work with multiple data source types including relational databases, REST APIs, and GraphQL APIs. The system identifies data source types and applies appropriate introspection strategies for each type, enabling automated schema generation across diverse backend technologies without requiring separate manual processes for each type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12339836B2Datasource introspection user interface for GraphQL API schema and resolver generation
Publication Date: 2025.06.24 ORACLE INT CORP
  • US12339836B2 patent drawing
  • US12339836B2 patent drawing
  • US12339836B2 patent drawing

AI summary

A technique is disclosed for creating a GraphQL Application Programing Interface (API) schema by introspecting various different types of backend datasources. The technique includes receiving a selection of a datasource type to create a GraphQL API schema and introspecting the selected datasource type to determine a set of individual elements associated with the selected datasource type. The technique involves outputting the set of individual elements associated with the selected datasource type via a User Interface (UI) screen of a computer system. The technique further includes receiving a selection of one more individual elements associated with the selected datasource type via a UI screen of the computer system. The technique includes generating a GraphQL API schema comprising a set of objects and a set of resolver functions based on the selected elements and presenting the GraphQL API schema via a UI screen associated with the computer system.