I am new to The Graph project, so forgive me if this has been discussed before. Creating structure around blockchain data is great and useful. There are many use cases for receiving a continuous stream (for example prices, rewards, outcomes, etc).
The graphql interface allows for bespoke queries, though has been primarily oriented towards a query-response, type paradigm (though I am aware of the @live extension introduced by FB recently).
I have a need to listen / receive live market data (much like would do with a centralized exchange). Rather than writing and maintaining custom web3 listeners for specific events from various contracts, would like to make use of and contribute to this effort.
The cost of bespoke live queries may reduce the efficiency of live feeds (or require more computation on the feed provider). Servicing a fairly large # of stream subscribers is a bit of a different problem (stateful and socket bound) from query-response interaction (stateless and more easily load-balanced).
Hence suggest that in addition to the current GraphQL interface, would make sense to provide an unfiltered schema for certain event sources / topics as a websocket based stream. Using a common stream format (without bespoke queries) for a given topic may allow for more efficient fan-out.