Existe uma linguagem semelhante a SQL ou XQuery para consultar JSON?
Estou pensando em conjuntos de dados muito pequenos que são bem mapeados para JSON, onde seria bom responder facilmente a consultas como "quais são todos os valores de X onde Y> 3" ou para executar as operações usuais do tipo SUM / COUNT.
Como exemplo completamente inventado, algo como isto:
[{"x": 2, "y": 0}}, {"x": 3, "y": 1}, {"x": 4, "y": 1}]
SUM(X) WHERE Y > 0 (would equate to 7)
LIST(X) WHERE Y > 0 (would equate to [3,4])
Eu estou pensando que isso funcionaria tanto do lado do cliente quanto do servidor, com os resultados sendo convertidos na estrutura de dados específica do idioma apropriada (ou talvez mantida como JSON)
Uma rápida pesquisa no Google sugere que as pessoas pensaram sobre isso e implementaram algumas coisas ( JAQL ), mas não parece que um uso padrão ou conjunto de bibliotecas tenha surgido ainda. Embora cada função seja bastante trivial de implementar por conta própria, se alguém já fez isso corretamente, não quero reinventar a roda.
Alguma sugestão?
Edit: Isso pode realmente ser uma má idéia ou JSON pode ser um formato muito genérico para o que estou pensando. O motivo para querer uma linguagem de consulta em vez de apenas executar as funções de soma / etc diretamente, conforme necessário, é que espero criar as consultas dinamicamente com base na entrada do usuário. Como o argumento de que "não precisamos de SQL, podemos apenas escrever as funções que precisamos". Eventualmente, isso sai do controle ou você acaba escrevendo sua própria versão do SQL à medida que avança cada vez mais. (Ok, eu sei que isso é um argumento meio bobo, mas você entendeu ..)