用于链接数据的Python JSON API,带有平面文件



我们正在创建gamma cat,这是一个用于伽马射线天文学的开放数据收集,并正在寻求如何最好地设置它的建议(此处,或资源、格式、工具、包的链接)。

我们所掌握的数据包括来自不同论文的不同来源的测量数据。它是非常异构的,有时一篇论文中有多个来源的数据,每个来源通常有几篇论文,有时没有光谱,有时一个,有时很多。。。

目前,我们只收集input文件夹中的数据作为YAML和CSV文件,现在我们想将其公开给用户。主要从Python访问,也可以从Javascript和静态网站访问。

问题是我们应该对数据使用什么格式和组织,是否有任何Python包可以帮助我们将output文件生成为一组链接数据,以及帮助我们访问它的Python和Javascript包

我们希望获得数据的多个"视图"或简单的"查询",例如"所有来源的列表"、"所有论文的列表","来源X的所有光谱的列表"one_answers"来源C的论文B的光谱A"。

对于格式,JSON可能是一个不错的选择?虽然YAML读起来有点好,而且可以有注释和有序的地图。我们将输出文件存储在git repo中,由于键顺序一直在变化,因此JSON文件有很多没有意义的差异。

为了使数据集可发现并链接,我不知道该使用什么。我发现例如。http://jsonapi.org/但这似乎适用于RESTAPI,而不仅仅适用于静态Web服务器上的一系列平面JSON文件?也许它仍然可以这样使用?我还发现http://json-ld.org/这看起来很相关,但也很复杂。这两者中的任何一个或其他东西是一个好的选择吗?

最后,我们想使用Python脚本从input中的一堆有组织的YAML和CSV文件中生成output中的链接和可发现文件。到目前为止,我们只是基于Python dicts/lists和YAML/JSON文件编写了一堆Python类或脚本。有没有一个Python包可以帮助生成链接的数据文件?

为这个冗长而复杂的问题道歉!我希望它仍然在SO的范围内,有人会有一些建议可以分享。

从问题的广度来看,您是链接数据的新手。对您来说,最不"奇怪"的格式可能是数据包。在最常见的情况下,它只是CSV文件和JSON元数据的zip存档。它有一个Python包。

如果您有对数据的查询,您应该选择一个带有SPARQL端点的数据库(三元组存储)。看看Fuseki。然后可以使用Turtle或RDF/XML进行文件导出。

如果数据来自某种工具,则可以使用EclipseLyo(教程)对它所代表的域进行建模。

这些工具由3个不同的社区维护,如果您有进一步的问题,可以单独联系他们的用户邮件列表。

最新更新