微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决通过从 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 举报,一经查实,本站将立刻删除。