我只有一个大的 JSON 文件。例如,
{
"Name": "Motor_M23",
"AASID": {
"IDType": "URI",
"IDSpec": "http://acplt.org/AAS/Motor_M23"
},
"AssetID": {
"IDType": "URI",
"IDSpec": "http://acplt.org/Assets/Motor_M23"
},
"Header": {
"PropertyValueStatementContainers": [
{
"Name": "Config",
.
.
.
.
我需要支持以下操作:
查询一个元素应该返回所有子元素,例如查询
AssetID
应该返回"AssetID": { "IDType": "URI", "IDSpec": "http://acplt.org/Assets/Motor_M23" }
更新元素的值。
- 删除元素。
- 在层次结构级别之间移动元素,例如
AssetID
制作AASID
.
我考虑了以下方法:
- 图形数据库:我开始阅读有关 Neo4J 的信息。但是,它不能智能地从 JSON 创建图形。必须指定节点类型及其层次顺序。
- ElasticSearch:它可以通过将 JSON 视为文本来工作,因此不是有效的解决方案。
- Postgres:它支持查询 JSON 对象,但更新、删除效率不高。
有没有什么好的数据库可以从大型 JSON 加载数据并处理我的操作?