繁体   English   中英

py2neo(Neo4j)自动增加属性?

[英]Auto increment property with py2neo (Neo4j)?

我将py2neo的烧瓶用于我的Rest服务,我有一个带有“用户”标签的用户节点。

如何使用py2neo在neo4j中自动增加“用户”标签的ID?

您不应该,也可能不应该。 Neo4j已经提供了一个内部id字段,该字段是一个自动递增的整数。 它不是节点的属性,但是可以通过id()函数进行访问,如下所示:

MATCH (n:Person)
RETURN id(n);

因此,无论何时创建任何节点,neo4j都会自动免费进行,而py2neo则不会。

如果您的代码需要其他类型的标识符,则建议您使用在全局上似乎唯一的标识符,例如在python中很容易实现的UUID ,而不是自动递增的整数。

将数字自动递增为ID的麻烦在于,由于它们具有一种模式(自动递增),因此人们开始依赖标识符的值,或者开始依赖对ID分配方式的期望。 在数据库中,这几乎总是一个坏主意。 标识符的唯一目的是使其与其他所有事物都不相同。 这并不意味着任何事情,在某些情况下甚至不能保证不发生任何变化。 避免在代码中嵌入对任何特定值或分配方案的依赖。

这就是为什么我喜欢UUID的原因,因为它们的分配方案本质上是任意的,而且它们显然没有任何意义-因此,它们不会诱使设计师对其进行任何巧妙的处理。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM