awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Netflix avatar

Netflix/falcor

0
View on GitHub↗
10,572 星标·444 分支·JavaScript·Apache-2.0·5 次浏览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.

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.

Star 历史

netflix/falcor 的 Star 历史图表netflix/falcor 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Falcor 的开源替代方案

相似的开源项目,按与 Falcor 的功能重合度排序。
  • falkordb/falkordbFalkorDB 的头像

    FalkorDB/FalkorDB

    3,437在 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
    在 GitHub 上查看↗3,437
  • kuzudb/kuzukuzudb 的头像

    kuzudb/kuzu

    3,965在 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
    在 GitHub 上查看↗3,965
  • neo4j/neo4jneo4j 的头像

    neo4j/neo4j

    15,928在 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
    在 GitHub 上查看↗15,928
  • ent/entent 的头像

    ent/ent

    17,110在 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
    在 GitHub 上查看↗17,110
查看 Falcor 的所有 30 个替代方案→

常见问题解答

netflix/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.

netflix/falcor 的主要功能有哪些?

netflix/falcor 的主要功能包括: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。

netflix/falcor 有哪些开源替代品?

netflix/falcor 的开源替代品包括: 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…