$ show tigergraph/ecosys
This is the TigerGraph ecosystem repository, a large collection of tools, connectors, demos, benchmarks, and tutorials centered around the TigerGraph graph database platform. It is not a single application but an aggregation of community and in-house developed components. The dominant character is application: it includes production-grade ETL connectors (Spark DataSource V2, JDBC driver, Kafka Connect, Hadoop MapReduce), a multi-version GSQL CLI client, a Go-based REST API for remote GSQL management, a Kubernetes operator, and numerous demos showcasing graph analytics (PageRank, community detection, geospatial search, fraud detection, GraphRAG). There are also benchmarking suites (LDBC SNB) and sample data. The codebase exhibits high craftsmanship in the connector and client libraries, with robust retry logic, token management, streaming JSON parsing, and schema inference. However, it suffers from massive code duplication across GSQL client versions, incomplete JDBC driver implementations, hardcoded paths and credentials in demos, and outdated vendored libraries (Leaflet 0.7.7, moment-timezone 2016). Overall, it is a functional but uneven collection; the core connectors are reusable and well-engineered, while many demo scripts are fragile and require manual configuration.
The LLM identified 6 files worth highlighting for reuse:
A self-contained Go REST API that wraps GSQL commands (create/drop vertices, users, etc.) via HTTP. It uses Go modules, provides authentication, and can be extracted and deployed independently to manage TigerGraph remotely. Demonstrates a clean pattern for exposing database administration over REST.
Central connection class for the Spark DataSource V2 connector. Supports multiple authentication methods (password, secret, OAuth2), token refresh, retry with exponential backoff, and SSL. Encapsulates all HTTP communication with TigerGraph RESTPP. Reusable as a generic graph database client pattern.
Builds upsert JSON payloads for vertices and edges from Spark InternalRows. Handles composite primary keys, edge discriminators, and attribute-level operations (sum, max, set). Demonstrates a type-safe, extensible builder pattern for graph data ingestion.
Parses SQL-like statements (SELECT, INSERT, DELETE, FIND, RUN, STATUS) and constructs HTTP requests to TigerGraph RESTPP endpoints. Handles string escaping, parameterized queries (? placeholders), and maps to Java objects. A reusable pattern for building a JDBC driver on top of a REST API.
A robust HTTP client with configurable retry logic, IP rotation, and SSL support. Used by the GSQL CLI client to communicate with the server. Demonstrates a reusable pattern for resilient client-server communication in distributed systems.
A header file defining user-defined functions (UDFs) for GSQL, including geospatial distance calculations, random number generation, and array/math operations. This pattern can be reused to extend GSQL with custom analytical functions.