¿Existe un lenguaje similar a SQL o XQuery para consultar JSON?
Estoy pensando en conjuntos de datos muy pequeños que se correlacionan muy bien con JSON, donde sería bueno responder fácilmente consultas como "¿cuáles son todos los valores de X donde Y> 3" o hacer las operaciones habituales de tipo SUM / COUNT?
Como ejemplo completamente inventado, algo como esto:
[{"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])
Estoy pensando que esto funcionaría tanto del lado del cliente como del lado del servidor con los resultados que se convierten a la estructura de datos específica del idioma apropiado (o tal vez se mantienen como JSON)
Una búsqueda rápida en Google sugiere que la gente lo haya pensado e implementado algunas cosas ( JAQL ), pero no parece que haya surgido un uso estándar o un conjunto de bibliotecas todavía. Si bien cada función es bastante trivial de implementar por sí sola, si alguien ya lo ha hecho bien, no quiero reinventar la rueda.
¿Alguna sugerencia?
Editar: Esto puede ser una mala idea o JSON puede ser un formato demasiado genérico para lo que estoy pensando. La razón para querer un lenguaje de consulta en lugar de simplemente hacer las funciones de suma / etc. directamente según sea necesario es que espero construir las consultas se basan dinámicamente en la entrada del usuario. Algo así como el argumento de que "no necesitamos SQL, simplemente podemos escribir las funciones que necesitamos". Eventualmente, eso se sale de control o terminas escribiendo tu propia versión de SQL a medida que lo empujas más y más. (Está bien, sé que es un argumento un poco tonto, pero entiendes la idea ...)