SemDB 示例教程
JSON 索引:存储与查询半结构化数据

SemDB 系统中的 JSON 索引系统可以用来存储不方便转化为表格的半结构化数据。

在这一教程中,介绍如何创建 JSON 索引,向索引内上传数据,以及如何程序化地写入和读取数据。

我们首先从左侧找到 JSON 索引页面,创建如下的 JSON 索引。

其中的 JSON 索引格式说明描述了所创建的 JSON 索引能够存储什么样的数据。 点击帮助按钮可以看到关于 JSON 索引的一些简单说明,并且包含一个前往附录页的链接,用来查看如何编写所需要的格式说明。

创建完 JSON 索引后,选择并切换到上传栏,我们上传一个如下内容的 json 文件。

[
  { "id": 0, "value": { "A": 10, "B": "Hello World!" } },
  { "id": 1, "value": { "A": 20, "B": "Hello World Again!" } }
]

点击上传,可以看到系统提示我们成功上传了两个数据点。

切换到数据检索栏,在数据编号输入框中输入 0,点击查询,即可看到我们刚刚所上传的数据。

JSON 索引的一个主要特色在于可以很方便地通过程序来访问和更改。但在此之前,我们需要先创建一个能够从外部登录的账号。

首先进入权限管理界面,创建一个普通的用户组 user_group,然后设置 Dir 目录对 user_group 可见 。

在 user_group 组内创建一个名为 user 的用户,密码为 password,并设置其为外部可见。

现在我们就可以通过 API 来访问 JSON 索引。访问 JSON 索引的 API 在服务器的 API 端口上的 /public/json-index 地址 的 GET 和 POST 方法(API 端口的地址可以在设置页面的其他设置栏查看)。下面是一个 Python 语言访问该 API 的程序片段。

类似的我们可以利用 POST 方法对 JSON 索引进行修改。下面是一个 Python 语言利用该 API 修改 JSON 索引内容的程序片段。

完成修改后再次执行刚才的查询代码,即可看到数据已经被覆盖。

事实上,对于 Python 语言,SemDB 提供了一套辅助的库函数用于简化访问 API 的流程,用户可以很方便地用一行代码完成上述操作, 前往 编程语言支持栏的 Python 部分教程 可以查看细节。

© 2025