The Graph is a decentralized protocol for indexing and querying data from blockchains, starting with Ethereum. It makes it possible to query data that is difficult to query directly. The most efficient way to query (search) data from the blockchain is via a subgraph. Subgraphs are a term coined by The Graph and they are open APIs. The subgraph description defines the smart contracts of interest for a subgraph, the events in those contracts to pay attention to, and how to map event data to data that The Graph will store in its database.