No reason it has to be. You could have the data interface accept plugins which preprocess data in different formats and expose it as something else, like an object, document, stream of documents, etc.
Those are all ultimately represented as bytes. You're just looking for a different query language.