我使用的是Spring数据Neo4j 3.3。1.2与Neo4j服务器一起发布。3.
我的问题是有一些节点是我的实体的副本,但它只有索引属性。
我的班级看起来像这样
@NodeEntity
@TypeAlias("Product")
public class Product {
@GraphId
private Long graphId;
@Indexed(indexName="productId", unique=true, indexType=IndexType.SIMPLE)
private String productId;
private String productType;
...
}
当一个新节点被创建时,我首先检查是否有一个现有的节点,如果它存在就更新它,否则创建一个新的节点。
Product product = productRepository.findByProductId(productId);
if (product == null) {
product = new Product(productId);
}
...
productRepository.save(product);
存储库接口。
public interface ProductRepository extends GraphRepository<Product> {
public Product findByProductId(String productId);
}
在Neo4j中,实体被创建到具有所有属性的节点。但是有些节点也有一个只包含productId的重复节点。问题是这并没有发生在所有的节点上。到目前为止,我们有大约120,000个节点,多达30个节点有这个副本。每次我们重新摄取的数据都有重复。现在我们只有两个重复的节点。
还有一件事,在检查重复节点时,它们似乎有一个节点ID,我认为它们是在保存实体时一起创建的。
编辑:经调查,唯一约束似乎未应用于productId。问题似乎来自@index注释。如果在同一注释中使用了unique
和indexName
,则仅应用indexName
,而不应用约束。现在,如果我使用indexName
或unique
SDN可以创建其中一个,我必须通过Neo4j网络控制台创建另一个,这有点烦人。我在SDN 4中知道这一点。x、 x索引维护不属于代码的一部分,应在外部处理。这是自SDN 3.3以来我们现在需要做的事情吗。x不能正确处理它?
indexName
和indexType
仅用于定义遗留索引(现已弃用),并且独特
仅用于定义模式索引的唯一性约束。这两种索引类型是互斥的。
如果您想施加唯一性约束,您只需要使用独特
。
当我使用SpringDataNeo4j在数据库中持久化节点时。它保留重复的节点,如“person”和“_person”。它都包含相同的数据。所以我想阻止sdn的这种行为。 我没有使用任何继承,只是每个类都有所有属性。 另外,如果我直接从neo4j服务器插入数据,sdn将无法获取它。
在使用@RepositoryRestResource将域对象导出到Rest时,如何在Java中创建Neo4j关系?
我正在使用Neo4j的最新Spring数据。在这个项目中,我有不同的组,它们可以通过url/group/{id}/project访问,该url/group/{id}/project应该返回用户有权访问的所有项目的列表。这东西工作得很好,但是如果用户输入了一个很大的数字作为groupId,而这个数字在数据库中并不存在,我会得到一个 组织。neo4j。图b。NotFoundException:未找到节
我试图在Neo4j中创建节点之间的关系。我正在使用Neo4J(2.1.8社区) 我试图创建以下关系。 创建一个新的员工(节点),它将向DB中的Manager(节点)报告(空关系)(按名称搜索)。我使用了下面的查询。 我得到了下面的错误。 谁能告诉我这个问题出了什么问题?另外,如果这不是使用GraphRespository创建关系的正确方法,那么我还可以使用什么来实现同样的目的呢。 提前感谢。 注意
我开始将Neo4J与Spring数据Rest一起使用。我有一个用于建模节点和边的节点实体和关系实体。我能够使用postman创建具有以下内容的新节点。 我不确定创建节点之间关系的JSON格式是什么。例如: 创建新节点并与现有节点关联 任何关于我需要使用什么JSON的例子都将不胜感激。 我的节点实体和关系实体如下:
问题内容: Neo4j对我来说是新的。我有neo4j数据库的备份,我想通过使用该备份创建数据库来构建docker容器。 我知道我可以使用命令,但是我正在寻找docker容器在创建容器时可以用来重新创建数据库的东西。 neo4j docker映像 的文档使用容器内的现有数据库数据库。但是我需要还原备份并从中创建数据库。 问题答案: EXTENSION_SCRIPT官方图片挂钩 Neo4j的官方映像提