当前位置: 首页 > 知识库问答 >
问题:

使用Spring数据在neo4j上创建唯一节点的最佳方法是什么?

濮献
2023-03-14

在Neo4j上工作时,尝试为数百万数据建立独特的节点和关系。目前我们使用合并查询来实现唯一性。有没有其他好的方法使节点唯一?

共有1个答案

公胤运
2023-03-14

MERGE不阻止重复,除非与唯一性约束结合使用。

在图中具有节点唯一性的唯一可靠方法是创建唯一性约束

CREATE CONSTRAINT ON (person:Person) ASSERT person.email IS UNIQUE;

是你如何创造它。

这还隐式创建了一个索引,使MATCHMERGE等操作成为匹配的O(1)操作。

 类似资料:
  • 我的问题与此非常相似:如何通过在neo4j中导入的csv文件创建唯一的节点和关系?我有一个大约250万行的textfile,其中有两列,每一列都是节点ID: 每一行表示一个关系(即250万个关系):first_column nodeid->follows->second_column nodeid。这个文件中大约有80,000个唯一节点。 null 我的主要问题是我想知道如何使这个过程更快。这是在

  • 我使用的是Spring数据Neo4j 3.3。1.2与Neo4j服务器一起发布。3. 我的问题是有一些节点是我的实体的副本,但它只有索引属性。 我的班级看起来像这样 当一个新节点被创建时,我首先检查是否有一个现有的节点,如果它存在就更新它,否则创建一个新的节点。 存储库接口。 在Neo4j中,实体被创建到具有所有属性的节点。但是有些节点也有一个只包含productId的重复节点。问题是这并没有发生

  • 我试图在Neo4j中创建节点之间的关系。我正在使用Neo4J(2.1.8社区) 我试图创建以下关系。 创建一个新的员工(节点),它将向DB中的Manager(节点)报告(空关系)(按名称搜索)。我使用了下面的查询。 我得到了下面的错误。 谁能告诉我这个问题出了什么问题?另外,如果这不是使用GraphRespository创建关系的正确方法,那么我还可以使用什么来实现同样的目的呢。 提前感谢。 注意

  • 当我使用SpringDataNeo4j在数据库中持久化节点时。它保留重复的节点,如“person”和“_person”。它都包含相同的数据。所以我想阻止sdn的这种行为。 我没有使用任何继承,只是每个类都有所有属性。 另外,如果我直接从neo4j服务器插入数据,sdn将无法获取它。

  • 我正试图创建一个独特的列表。我不能使用“set”,因为我需要在迭代时分配一些值。 现在我这样做是为了创建一个唯一的列表。有人知道更好的办法吗? 我在想,如果我把它转换成一个集合,然后返回到一个列表,它将消除任何重复的条目。我认为它需要是一个列表,这样我就可以使用“list.set(..)”根据我的存储库中可能已经存在的内容进行更新。

  • 我正在使用Neo4j进行社交网络分析,我想知道是否需要使用Spring Data。节点的所有属性都是由客户端动态提供的,在Spring数据中,Neo4j节点总是映射到一个对象,这意味着节点的模式是不可变的。那么,只有当每个节点的模式不可变时,Spring数据才能使用,还是我错过了什么? 我已经在Spring环境中工作了。