如何在neo4j中使节点属性不可变?
我有一个neo4j数据库(community edition),在其中我在一个属性中设置了一个唯一性约束,我将该属性称为“uid”,并与一个标签:USER配对如何在neo4j中使节点属性不可变?,neo4j,cypher,immutability,Neo4j,Cypher,Immutability,我有一个neo4j数据库(community edition),在其中我在一个属性中设置了一个唯一性约束,我将该属性称为“uid”,并与一个标签:USER配对 CREATE CONSTRAINT ON (user:USER) ASSERT user.uid IS UNIQUE 但是,我希望以一种方式来保护此属性,即在创建节点后不能对其进行更改,但仍然可以更改其他属性。怎么能这样呢 根据,我们没有办法开箱即用。我相信,要实现这一目标,您需要使用Neo4JJavaAPI并编写一个自定义脚本 看看图
CREATE CONSTRAINT ON (user:USER) ASSERT user.uid IS UNIQUE
但是,我希望以一种方式来保护此属性,即在创建节点后不能对其进行更改,但仍然可以更改其他属性。怎么能这样呢 根据,我们没有办法开箱即用。我相信,要实现这一目标,您需要使用Neo4JJavaAPI并编写一个自定义脚本
看看图中的灵感。根据文件:
Neo4j UUID库是一个简单的库,可以透明地分配
UUID到图形中新创建的节点和关系并生成
确保没有人可以(意外或故意)更改或删除它们。
您可以在上看到此需求的单元测试。据我所知,Neo4j中目前没有此类内容 有一个功能请求()
您可以通过编写自定义的用户定义过程或函数来强制实现不变性。谢谢,我会检查的!