Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在neo4j中使节点属性不可变?_Neo4j_Cypher_Immutability - Fatal编程技术网

如何在neo4j中使节点属性不可变?

如何在neo4j中使节点属性不可变?,neo4j,cypher,immutability,Neo4j,Cypher,Immutability,我有一个neo4j数据库(community edition),在其中我在一个属性中设置了一个唯一性约束,我将该属性称为“uid”,并与一个标签:USER配对 CREATE CONSTRAINT ON (user:USER) ASSERT user.uid IS UNIQUE 但是,我希望以一种方式来保护此属性,即在创建节点后不能对其进行更改,但仍然可以更改其他属性。怎么能这样呢 根据,我们没有办法开箱即用。我相信,要实现这一目标,您需要使用Neo4JJavaAPI并编写一个自定义脚本 看看图

我有一个neo4j数据库(community edition),在其中我在一个属性中设置了一个唯一性约束,我将该属性称为“uid”,并与一个标签:USER配对

CREATE CONSTRAINT ON (user:USER) ASSERT user.uid IS UNIQUE
但是,我希望以一种方式来保护此属性,即在创建节点后不能对其进行更改,但仍然可以更改其他属性。怎么能这样呢

根据,我们没有办法开箱即用。我相信,要实现这一目标,您需要使用Neo4JJavaAPI并编写一个自定义脚本

看看图中的灵感。根据文件:

Neo4j UUID库是一个简单的库,可以透明地分配 UUID到图形中新创建的节点和关系并生成 确保没有人可以(意外或故意)更改或删除它们。


您可以在上看到此需求的单元测试。

据我所知,Neo4j中目前没有此类内容

有一个功能请求()


您可以通过编写自定义的用户定义过程或函数来强制实现不变性。

谢谢,我会检查的!