awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
graphql-go avatar

graphql-go/graphql

0
View on GitHub↗
10,155 stele·841 fork-uri·Go·MIT·9 vizualizări

Graphql

This project is a GraphQL implementation for Go, providing a complete suite for building GraphQL servers. It includes a schema engine for defining types, a query parser to convert strings into abstract syntax trees, and an execution engine that resolves fields against a defined schema to return structured data.

The library distinguishes itself through reflection-based type mapping, allowing object definitions and arguments to be derived directly from native Go structs. It also supports the execution of real-time data streaming via GraphQL subscriptions and provides an extensible execution pipeline for injecting custom logic into parsing, validation, and execution events.

The project covers a broad range of capabilities, including comprehensive query validation for types and fragments, mutation execution for state-changing operations, and schema introspection. Performance is addressed through concurrent resolver execution and the caching of normalized query plans.

Features

  • Server Implementations - Implements a full GraphQL server specification in Go to handle structured data queries and mutations.
  • Query Structural Handling - Processes complex GraphQL requests involving aliases, fragments, and nested object lookups.
  • Document Validation - Checks documents against a schema using specification rules to identify structural or type errors.
  • Query Parsers - Converts raw GraphQL query strings into abstract syntax trees to enable validation and execution.
  • Query Validators - Validates that arguments used in a query exist in the schema and suggests corrections.
  • Type System Mappings - Uses reflection to automatically map native Go structs to GraphQL object definitions and types.
  • Schema Introspection - Provides meta-fields and types that allow clients to query the server for its schema structure.
  • Field Selection Validation - Verifies that requested fields exist on the specified types and returns errors for undefined fields.
  • Mutation Handlers - Executes state-changing mutations serially to ensure requested processing order is maintained.
  • Operation Execution - Executes queries, mutations, and subscriptions against a schema to resolve and return structured data.
  • Query Planning - Analyzes the GraphQL query and schema to construct an optimized data fetching path before execution.
  • Field-to-Model Mappers - Maps GraphQL schema fields to Go-specific data fetching logic and resolver functions.
  • Plugin Argument Validators - Verifies that values passed to arguments match the expected scalar or enum types defined in the schema.
  • Resolver Context Injectors - Injects request-scoped metadata and state throughout the resolver tree to manage authentication and shared connections.
  • Strongly-Typed Query Validation - Validates incoming GraphQL queries against a predefined type system to ensure structural and type-level correctness.
  • Response Formatting - Provides structured response objects containing resolved data and execution errors in accordance with the GraphQL specification.
  • GraphQL AST Parsing - Implements a parser that converts raw GraphQL query strings into abstract syntax trees for structural analysis.
  • Reflection-Based Type Mapping - Automatically derives GraphQL object definitions and fields from native Go structs using reflection and struct tags.
  • Recursive Schema Resolvers - Traverses the schema recursively to execute resolver functions and retrieve data for requested fields.
  • Argument Uniqueness Validation - Ensures that each field or directive contains only one instance of any given argument name.
  • Fragment Data Masking - Analyzes fragments to ensure spread fragments are compatible with the parent type definition.
  • Query Execution Engines - Implements a runtime engine that determines the optimal execution path for GraphQL queries through lazy expansion.
  • GraphQL Schema Construction - Provides tools to define types, queries, and mutations to establish the structured data model used for validation and execution.
  • Schema Engines - Provides a schema engine for defining the types and interfaces required to validate and execute GraphQL operations.
  • Schema Modeling - Provides tools for designing structured data models using types, mutations, and custom scalars.
  • GraphQL Subscriptions - Implements real-time data streaming via GraphQL subscriptions using event source functions.
  • Enumeration Types - Supports custom types with a fixed set of allowed values to restrict input and standardize output.
  • Struct-to-Argument Mapping - Derives GraphQL argument definitions directly from native Go struct properties to simplify input handling.
  • Scalar Types - Implements standard scalar data types like integers and floats to ensure values conform to the GraphQL specification.
  • Custom Scalar Marshaling - Converts internal Go data types into their corresponding GraphQL scalar representations.
  • Custom Scalars - Allows the definition of new primitive data types beyond the standard specification to handle specialized data formats.
  • Scalar Parsing - Converts input strings and literals into strongly typed native objects like dates and times.
  • GraphQL Root Types - Implements mechanisms to configure the root query, mutation, and subscription types as primary API entry points.
  • Query Normalization - Replaces literal field arguments with synthetic variables to create a canonical query shape for execution caching.
  • Query Plan Caching - Stores parsed and validated query states in a cache to eliminate expensive repeated computations on frequent requests.
  • Query Shape Normalization - Normalizes GraphQL queries into a canonical form to improve the hit rate of execution plan caches.
  • Circular Reference Detection - Detects and blocks recursive fragment references to prevent infinite loops during query execution.
  • Extensible Processing Pipelines - Provides an extensible pipeline for injecting custom logic into the parsing, validation, and execution phases of a request.
  • Parser State Tracking - Maintains a stack of field and type definitions during AST traversal to track parsing state.
  • Request Context Management - Passes metadata and state through the execution chain to share authentication and connections across resolvers.
  • Concurrent Resolver Execution - Processes multiple data fetching requests in parallel to minimize response latency for complex queries.
  • GraphQL Abstract Type Definitions - Provides mechanisms to group related object types or allow fields to return one of several different object types.
  • Union Types - Enables the definition of union types to allow fields to return any of several different object types at runtime.
  • Directive-Based Execution - Controls the inclusion or exclusion of fields in a response based on boolean directives.
  • GraphQL Directive Definitions - Enables the creation of directives that modify execution behavior or schema metadata via names, locations, and arguments.
  • GraphQL Input Type Definitions - Allows specifying the structure of complex objects that can be passed as arguments to queries or mutations.
  • GraphQL Interface Type Definitions - Supports abstract types that define a set of fields that multiple object types must implement.
  • List Types - Provides support for defining list types within the GraphQL schema to handle collections of data.
  • GraphQL Variable Management - Manages dynamic input values and default arguments to customize query and mutation execution.
  • Real-Time Data Streaming - Implements GraphQL subscriptions to push real-time data updates to clients over long-lived connections.
  • Type-Safe API Integrations - Ensures API requests are strictly validated against a schema before data resolution to maintain type safety.
  • Query Languages - Implementation of GraphQL for Go.
  • Go GraphQL Tools - Go implementation of the GraphQL specification.

Istoric stele

Graficul istoricului de stele pentru graphql-go/graphqlGraficul istoricului de stele pentru graphql-go/graphql

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Graphql

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Graphql.
  • graphql-dotnet/graphql-dotnetAvatar graphql-dotnet

    graphql-dotnet/graphql-dotnet

    5,987Vezi pe GitHub↗

    GraphQL.NET is a server-side framework for building and executing GraphQL APIs within C# applications. It provides a comprehensive toolkit for schema building, a federated engine for distributed data graphs, and a subscription handler for managing real-time data streams. The project distinguishes itself with a flexible schema builder that supports both programmatic code-first definitions and declarative schema-first approaches using the standard schema definition language. It includes a dedicated federation engine to split data graphs into subgraphs and compose them into a unified gateway, as

    C#apidotnet-coregraphiql
    Vezi pe GitHub↗5,987
  • graphql/graphql-jsAvatar graphql

    graphql/graphql-js

    20,397Vezi pe GitHub↗

    This project is the JavaScript reference implementation of the GraphQL specification. It provides a query engine and schema parser designed to parse, validate, and execute queries to retrieve or mutate data based on a defined schema. The implementation includes a framework for mapping codebase structures to a strongly typed system and a tool for converting query strings into abstract syntax trees for programmatic analysis. The library covers the full surface of GraphQL API implementation, including schema definition, language parsing, and query validation. It provides the necessary infrastru

    TypeScript
    Vezi pe GitHub↗20,397
  • rmosolgo/graphql-rubyAvatar rmosolgo

    rmosolgo/graphql-ruby

    5,448Vezi pe GitHub↗

    GraphQL-Ruby is a Ruby library for building GraphQL APIs with a strongly typed schema and a dedicated query execution engine. It provides a comprehensive framework for mapping application objects to a formal type system, enabling structured data fetching through defined resolvers. The project distinguishes itself with advanced performance and delivery mechanisms, including a data loader for batching and caching to prevent N+1 query patterns. It supports high-performance data delivery through incremental response streaming, deferred query responses, and parallel data fetching using fibers. Add

    Ruby
    Vezi pe GitHub↗5,448
  • graphql-hive/graphql-yogaAvatar graphql-hive

    graphql-hive/graphql-yoga

    8,523Vezi pe GitHub↗

    Yoga is a GraphQL server framework and runtime-agnostic HTTP handler used to build and deploy GraphQL APIs. It functions as a toolkit for managing schemas and resolvers, providing a spec-compliant environment for hosting APIs across diverse JavaScript runtimes, including Node.js, Deno, Bun, and serverless cloud environments. The project distinguishes itself through its ability to act as an Apollo Federation gateway, composing multiple subgraphs into a single unified supergraph. It also serves as a dedicated subscription server, delivering real-time data streaming via both WebSockets and Serve

    TypeScriptbundenofetch
    Vezi pe GitHub↗8,523
Vezi toate cele 30 alternative pentru Graphql→

Întrebări frecvente

Ce face graphql-go/graphql?

This project is a GraphQL implementation for Go, providing a complete suite for building GraphQL servers. It includes a schema engine for defining types, a query parser to convert strings into abstract syntax trees, and an execution engine that resolves fields against a defined schema to return structured data.

Care sunt principalele funcționalități ale graphql-go/graphql?

Principalele funcționalități ale graphql-go/graphql sunt: Server Implementations, Query Structural Handling, Document Validation, Query Parsers, Query Validators, Type System Mappings, Schema Introspection, Field Selection Validation.

Care sunt câteva alternative open-source pentru graphql-go/graphql?

Alternativele open-source pentru graphql-go/graphql includ: graphql-dotnet/graphql-dotnet — GraphQL.NET is a server-side framework for building and executing GraphQL APIs within C# applications. It provides a… graphql/graphql-js — This project is the JavaScript reference implementation of the GraphQL specification. It provides a query engine and… rmosolgo/graphql-ruby — GraphQL-Ruby is a Ruby library for building GraphQL APIs with a strongly typed schema and a dedicated query execution… graphql-hive/graphql-yoga — Yoga is a GraphQL server framework and runtime-agnostic HTTP handler used to build and deploy GraphQL APIs. It… graph-gophers/graphql-go — graphql-go is a schema-first GraphQL library and server implementation for Go. It provides a query execution engine… async-graphql/async-graphql — async-graphql is a type-safe framework for building specification-compliant GraphQL servers in Rust. It uses…