DSL Graph Schema Stitching for API Data Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems for managing and enhancing external APIs and SDKs using GraphQL are underdeveloped, lacking efficient methods for defining and generating schemas, which hinders effective data retrieval and manipulation.

Innovation Solution

The method involves automatically generating combined schemas using a domain-specific language (DSL) to integrate multiple graph data structures, allowing clients to specify precisely what data is needed, reducing data over-fetching and improving API management by defining schema blueprint data, field transformations, and authorization scopes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If GraphQL is used for data querying, then clients can define precise data structure requirements, but the system lacks efficient methods for defining and generating schemas

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidschema definition complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The schema definition is segmented into reusable template components that can be independently defined and combined. This allows complex GraphQL schemas to be built from modular, manageable units rather than defining everything from scratch, reducing the complexity burden while maintaining precise data structure control.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An automated schema generation system acts as an intermediary between the template definitions and the final GraphQL schema. This intermediary automatically processes template inputs, resolves dependencies, and generates the complete schema, eliminating the need for manual schema construction and reducing operational complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple graph data structures are integrated manually, then data retrieval can be customized, but network latency and costs increase due to multiple requests

Engineering Contradiction:
Improvedata customization capabilityVSAvoidnetwork latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

Multiple graph data structures are merged into a single unified GraphQL schema that can be queried through one endpoint. This consolidation allows clients to retrieve data from multiple sources in a single request, eliminating the need for multiple sequential requests and reducing network latency while preserving full data customization capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary integration of multiple graph data structures into a unified schema before clients make requests. This advance preparation ensures that all necessary data structures are already connected and ready, allowing clients to make single, efficient requests without incurring the latency of multiple separate requests.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If comprehensive data is returned from servers, then clients receive complete information, but excessively large amounts of data are transmitted

Engineering Contradiction:
Improvedata completenessVSAvoiddata transmission volume
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The GraphQL schema enables different parts of the data structure to have different levels of detail and completeness based on local requirements. Clients can specify exactly which fields and nested structures they need, allowing the server to return complete information for requested elements while omitting unnecessary data, thus maintaining reliability for needed data while reducing overall transmission volume.

Inventive Principle:
Principle #3Local quality

4Adaptability or versatility

If distributed teams collaborate on API development, then system functionality increases, but coordination and integration become more complex

Engineering Contradiction:
Improvesystem functionalityVSAvoidcollaboration coordination complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The schema definition process is segmented into independent, team-owned components that can be developed, validated, and maintained separately. This segmentation allows distributed teams to work on different parts of the schema simultaneously without conflicts, increasing overall system functionality while reducing coordination complexity through clear ownership boundaries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The template-based schema system provides universal interfaces and conventions that work across different teams and data structures. This universality allows teams to collaborate using common patterns and methodologies, reducing the complexity of integration and coordination while enabling the system to accumulate diverse functionality from multiple teams.

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

Data Source

PatentUS11514043B2Domain specific language for improved graph stitching
Publication Date: 2022.11.29 ATLASSIAN PTY LTD
  • US11514043B2 patent drawing
  • US11514043B2 patent drawing
  • US11514043B2 patent drawing

AI summary

In an embodiment, a method comprises creating and storing, at a client computer, schema blueprint data comprising a plurality of different service definitions, each of the service definitions composed in a domain specific language (DSL), each service definition comprising identification of an endpoint and one or more schema definition language elements; generating, based on the schema blueprint data, a combined schema in a graph query language processing system, the combined schema indicating which querying operations and mutating operations that a graph endpoint of the graph query language processing system can execute, the generating the combined schema comprising: automatically mapping a first resource of a first plurality of digitally stored resources from the endpoint of a first service definition of the plurality of service definitions to a first field in the combined schema; automatically mapping a second resource of a second plurality of digitally stored resources from the endpoint of a second service definition of the plurality of service definitions to a second field in the combined schema; generating and submitting a query to the graph endpoint based on the combined schema that causes, by traversing the mappings, retrieving the first resource from the endpoint of the first service definition and the second resource from the endpoint of the second service definition.