JSONiq:Java实现为库?

时间:2017-07-06 15:56:46

标签: json transformation saxon zorba jsoniq

查看JSONiq规范(www.jsoniq.org)的实现。

大多数都是独立部署。例如Zorba,VXQuery等设计用于查询基于JSON的数据库或处理大型JSON文档。

我很惊讶地发现所有实现都在尝试解决此类问题而不将JSONiq执行模块化为库。它应该与Apache Solr(Search Server + Rest API)和其他索引解决方案的Apache Lucene(库)非常相似。

是否有可用的Java库(类似于Saxon for XQuery),它可以嵌入到java应用程序中,并且可以执行在.xq或.xquery文件中定义为函数的JSONiq规范? 或者如何扩展Saxon来解析和执行JSONiq规范?

2 个答案:

答案 0 :(得分:2)

JSONiq是一种类似XQuery的语言,用于处理JSON。它的大多数好主意都被整合到XQuery 3.1中,但是以集成XML和JSON数据模型的方式。我不相信JSONiq提供的任何功能都不在XQuery 3.1中,并且它不是一个开放的标准,所以在Saxon中实现它没什么意义。

答案 1 :(得分:0)

当前有两种Java发布的JSONiq实现,它们都可以从HDFS或本地文件系统读取数据,并可以在多个内核/机器上并行处理大量数据:

  • Rumble(火花)-支持JSONiq核心语言(JSON友好语法),还可以从Spark支持的任何其他输入中读取(S3,...)
  • VXQuery(Hyracks)-支持XQuery的JSONiq扩展