awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Netflix avatar

Netflix/falcor

0
View on GitHub↗
netflix.github.io/falcor↗

Falcor

Falcor is a JavaScript library that models remote data as a single virtual JSON graph, providing a path-based query engine for efficient client-side data retrieval and updates. It represents multiple remote data sources as a unified document where entities are accessed via globally unique identity paths.

The system distinguishes itself by treating the remote data model as a virtual JSON resource, allowing the client to query specific paths without managing individual endpoints. It uses a reference-aware graph model to handle many-to-many relationships and prevents data duplication. Network efficiency is managed through time-windowed request batching and deduplication, merging multiple asynchronous requests into single calls.

The library includes a client-side data cache with support for functional reactive hooks, expiration control, and mutation-based invalidation. It further provides mechanisms for remote function invocation to execute transactional server-side operations and delivers data retrieval results through observable streams.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Data Source Unification - Represents multiple remote data sources as a single virtual JSON model for consistent access.
  • Graph Data Models - Models remote data as a single unified virtual JSON graph for efficient path-based retrieval.
  • Data Fetching Libraries - Functions as a data fetching library that models backend data as a unified virtual JSON graph.
  • Batch Value Retrievals - Retrieves several values from the graph in a single operation and returns them as a combined object.
  • Batch Value Updates - Updates several values in a single request using path-value pairs or a JSON envelope.
  • Client-Side Cache Invalidations - Maintains a local cache and supports invalidating stale paths following mutation operations.
  • Graph Querying - Allows queries to traverse a virtual JSON graph using path arrays to automatically resolve references.
  • Path-Based Value Updates - Updates a specific value in the data source and reflects the change in the local cache.
  • Path-Based Value Retrieval - Fetches a specific value from the data source or local cache using a provided path.
  • Reference-Aware Caching - Stores graph fragments in a local cache with path-based invalidation and timestamp-based race condition prevention.
  • Graph Reference Management - Implements a reference-aware graph model to handle many-to-many relationships and prevent data duplication.
  • Path-Based Data Access - Retrieves specific data values using path syntax to read, update, or trigger actions.
  • Unified Virtual JSON Graphs - Represents remote data as a single unified document where entities are accessed via globally unique identity paths.
  • Virtual JSON Graph Clients - Models remote data as a single virtual JSON graph for efficient path-based querying.
  • Virtual Graph Querying - Queries a unified virtual JSON document through a single endpoint to retrieve data from various backend services.
  • Mutation-Based Cache Invalidation - Removes stale cached values by using a list of changed paths returned after a server-side function call.
  • Unified Data Models - Represents multiple remote data sources as a single unified JSON graph for consistent access.
  • Path-Based Query Engines - Provides a query engine for retrieving and updating specific values in a distributed model using unique identity paths.
  • Remote Function Invocation - Enables the invocation of transactional server-side operations to mutate graph data.
  • Virtual Graph Resolution - Traverses a virtual graph by following path arrays and automatically resolving references to locate data.
  • Reference-Aware Path Mutations - Sets new values at specified paths in a graph model by automatically resolving references.
  • Virtual JSON Modeling - Treats remote data as a virtual JSON resource to fetch specific paths without managing individual endpoints.
  • Client-Side Caching - Implements a local cache to mirror remote graph state and minimize redundant network requests.
  • Virtual Graph API Interfaces - Provides access to remote data using standard JavaScript operations like get, set, and call on a virtual graph.
  • Virtual JSON Graph Interfaces - Exposes a unified data model through a standard interface for external service consumption.
  • Collapsing Batch Requests - Merges multiple concurrent requests within a time window into a single network call to eliminate redundancy.
  • Asynchronous Write Operations - Updates values in a graph object at specified paths and returns the modified subset asynchronously.
  • Graph-to-JSON Converters - Converts internal graph formats into standard JSON objects after retrieving multiple values.
  • Cache Priming - Supports pre-populating the local cache by fetching specified paths from the remote source.
  • Graph Data Retrieval - Fetches JSON graph data from remote servers using HTTP or HTTPS protocols.
  • Change Notifications - Triggers callback functions whenever data in the local cache is modified.
  • Cache Expiration Management - Uses metadata to manage the time-to-live and expiration of cached graph fragments.
  • Identity-Based Dereferencing - Creates a new model bound to a specific object by its identity to target entities correctly.
  • Functional Reactive Cache Hooks - Provides custom callback functions to react to cache changes and transform incoming errors.
  • Virtual Graph Data Loading - Fetches values for specific paths from a cache or remote source and loads them into an object.
  • Partial Graph Queries - Queries specific paths from a resource to minimize data transfer and reduce network overhead.
  • Pluggable Transport Backends - Implements a standard interface for data sources to allow any backend transport.
  • Data Version Tracking - Provides incrementing version numbers to track changes at specific paths within the virtual graph.
  • In-Stream Error Values - Reports errors as regular data values in the response stream instead of using separate error callbacks.
  • Observable Streams - Wraps data retrieval and mutation results in observable streams that treat errors as regular data values.
  • Timestamp-Based State Synchronization - Uses timestamps on values to ensure old network data does not overwrite newer local state.
  • Nested Key Resolution - Accesses deeply nested values within a virtual JSON document using path-based key lookups.
  • Request Batching - Collects multiple asynchronous data requests within a short interval and merges them into a single network call.
  • Relative Graph Navigation - Creates model instances bound to specific locations to make subsequent data paths relative.
  • Scoped Model Binding - Creates scoped model instances bound to specific graph locations to allow relative path access.
  • Request Deduplication - Deduplicates requests during virtual graph traversal to reduce redundant data fetches.
  • Request Routing - Maps incoming graph operations to server handlers that return data from a virtual JSON object.
  • Virtual Resource Hosting - Hosts a virtual JSON document on a server that resolves data requests from multiple sources on demand.
10,572 stars·444 forks·JavaScript·Apache-2.0·20 views

Star history

Star history chart for netflix/falcorStar history chart for netflix/falcor

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does netflix/falcor do?

Falcor is a JavaScript library that models remote data as a single virtual JSON graph, providing a path-based query engine for efficient client-side data retrieval and updates. It represents multiple remote data sources as a unified document where entities are accessed via globally unique identity paths.

What are the main features of netflix/falcor?

The main features of netflix/falcor are: Data Source Unification, Graph Data Models, Data Fetching Libraries, Batch Value Retrievals, Batch Value Updates, Client-Side Cache Invalidations, Graph Querying, Path-Based Value Updates.

Which projects share features with netflix/falcor?

Projects with overlapping indexed features include: falkordb/falkordb — FalkorDB is a high-performance graph database management system and vector graph database. It serves as a knowledge… kuzudb/kuzu — Kùzu is an embedded property graph database engine designed for high-performance analytical queries and local data… neo4j/neo4j — Neo4j is a native graph database management system designed to store and query highly connected data using a… ent/ent — Ent is a statically typed entity framework for Go that models database structures as a graph of nodes and edges. It… cayleygraph/cayley — Cayley is a graph database engine designed for storing and querying interconnected data using a quad-based data model.… lightbend/config — This is a configuration library for JVM applications that parses HOCON, JSON, and Java properties files into an…

Projects sharing features with Falcor

These projects share indexed features with Falcor. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • falkordb/falkordbFalkorDB avatar

    FalkorDB/FalkorDB

    3,437View on GitHub↗

    FalkorDB is a high-performance graph database management system and vector graph database. It serves as a knowledge graph construction tool and a GraphRAG knowledge store, integrating structured property graphs with vector search to provide grounded context for large language models. The engine is designed as a multi-tenant graph engine, capable of hosting thousands of isolated datasets within a single instance. The system distinguishes itself by using linear algebra for query execution, treating relationship tensors as matrix multiplications to achieve low-latency multi-hop traversals. It ut

    Ccloud-databasedatabasedatabase-as-a-service
    View on GitHub↗3,437
  • kuzudb/kuzukuzudb avatar

    kuzudb/kuzu

    3,965View on GitHub↗

    Kùzu is an embedded property graph database engine designed for high-performance analytical queries and local data management. It operates as a library within the host application process, utilizing a columnar-based storage architecture and just-in-time query compilation to execute complex graph traversals and pattern matching efficiently. By mapping database files directly into system memory, it ensures data durability and high-speed access while maintaining ACID-compliant transactional integrity. The engine distinguishes itself by integrating vector similarity search and full-text search di

    C++cypherdatabaseembeddable
    View on GitHub↗3,965
  • neo4j/neo4jneo4j avatar

    neo4j/neo4j

    15,928View on GitHub↗

    Neo4j is a native graph database management system designed to store and query highly connected data using a property-graph model. It provides an ACID-compliant transaction engine that ensures data integrity, supported by a distributed cluster architecture that maintains causal consistency across nodes. Users interact with the system through a declarative query language, which allows for complex pattern matching and path traversal without requiring manual traversal logic. The platform distinguishes itself through its hybrid approach to data retrieval, combining traditional graph-based queries

    Javacypherdatabasegraph
    View on GitHub↗15,928
  • ent/entent avatar

    ent/ent

    17,110View on GitHub↗

    Ent is a statically typed entity framework for Go that models database structures as a graph of nodes and edges. It functions as a code generation engine that transforms schema definitions into type-safe database clients, query builders, and migration scripts. By representing data as interconnected entities, the framework enables intuitive traversal of complex relationships and ensures that database interactions remain consistent with the application model at compile time. The framework distinguishes itself through its graph-based approach to data modeling and its reliance on compile-time cod

    Goententity-frameworkorm
    View on GitHub↗17,110
  • Compare all 30 related projects→