我对当前的数据模型有问题,我想知道是否有人能提出更好的方法来构造我的数据。我的节点标记为“Person”,每个节点有5-10个属性:姓名、地址、国籍、电话、年龄.没有唯一的属性,我可以用作为一个索引。
因为我不想重复,所以每次我创建一个新的人,我使用合并而不是创建。但问题是,在一个节点上匹配5-10个属性的情况下进行合并会极大地减缓查询的速度。
那么,将每个Person节点中的属性作为标记为地址、国籍、电话、年龄的单独节点是否有助于我的合并查询的性能?还有其他可能的解决办法吗?
提前感谢!
发布于 2014-11-19 15:04:26
如何生成一个对每个人都是唯一的GUID/UUID,并将其用作每个人的ID?然后您可以快速地在该属性上合并,并使用other来设置其他属性。
MERGE (p:Person {id: 'abcd-efgh-...'})
ON CREATE SET p.name = "mark", p.address = "..."如果不是,那么可能是散列或所有这些属性的组合作为您的键。
MERGE (p:Person {id: "name-address-nationality-phone"})
ON CREATE SET p.name = "...", p.address = "..."https://stackoverflow.com/questions/27019948
复制相似问题