通过从 json 文件中导入数据来动态创建节点和建立关系

问题描述

我有 3 个 JSON 文件,分别是 Network、DataStore 和 VM。我想从 JSON 文件提取数据并动态创建节点和关系。我使用了下面提到的查询

CALL apoc.load.json("file:///DataStore.json") YIELD value AS data
MERGE (d:DataStore{DataStore: data.DataStore})
SET d.Name = data.Name,d.Type = data.Type,d.Capacity = data.Capacity,d.Free = data.Free
WITH data as data
CALL apoc.load.json("file:///Network.json")YIELD value AS net
MERGE(n:Network{Network:net.Network})
SET n.Name =net.Name
WITH net AS nw
CALL apoc.load.json("file:///VmDetails.json") YIELD value AS vm
MERGE(n:Network{Name:vm.Network})
MERGE(d:DataStore{Datastore:vm.DataStore})
MERGE(v:UserV{vmName:vm.vmName})
SET v.cpu= vm.cpu,v.ConnectionState = vm.ConnectionState,v.DataStore = vm.DataStore,v.Hostname = vm.Hostname,v.InstanceUuid = vm.InstanceUuid,v.IpAddress = vm.IpAddress,v.Network = vm.Network,v.NumEthernetCards = vm.NumEthernetCards,v.NumVirtualdisks = vm.NumVirtualdisks,v.OverallStatus = vm.OverallStatus,v.PowerState = vm.PowerState,v.RAM = vm.RAM,v.Uuid = vm.Uuid
MERGE (n)-[:connected]->(v)
MERGE (v)-[:related]->(d)

在这里,我可以根据需要创建节点,但在创建关系时,只有网络和虚拟机才能正确创建关系,但是当涉及到数据存储时,它会创建一些不需要的新节点并创建关系。Realtionship created between VM and DataStore

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)