retrieve aws neo4jogm

问题描述 投票:0回答:0

在Neptune,我在Gremlin Library(Java)的帮助下创建了一个顶点:

var createdVertex = g.addV(vertex.getArtifactType());
createdVertex.property(T.id, vertexId); => UUID String
createdVertex.property(Cardinality.single, ARN, vertex.getArn()); => String
createdVertex.property(Cardinality.single, ARTIFACT_TYPE, vertex.getArtifactType());  => String
createdVertex.property(Cardinality.single, DISPLAY_NAME, vertex.getDisplayName());  => String
createdVertex.property(Cardinality.single, CREATED_AT, vertex.getCreatedAt());  => Timestamp 
createdVertex.property(Cardinality.single, UPDATED_AT, vertex.getUpdatedAt());  => Timestamp

在这里,一切都按预期工作!

现在,我想在另一个库上尝试一下,这使我能够像JPA/Hibernate一样从CRUD操作和自动映射中受益。然后,我看看Neo4J OGM库。

我做一个简单的会话。loadall(类)

我的问题发生在由Neo4J-OGM完成的自动映射中。我认为Neo4J主要是为了与cypher基础符合Neo4J服务器的开发。但是,由于AWS Neptune都符合(开放的)Cypher和Gremlin Apache/Tinkerpop,因此我认为我可以轻松地将Neo4J OGM与AWS Neptune一起使用。

我目前遇到的问题是以下内容:

使用NEO4J注释下面的班级

@NodeEntity @Data @Builder @NoArgsConstructor @AllArgsConstructor public class Vertex { private String id; @NotBlank private String arn; @NotBlank private String artifactType; @NotBlank private String displayName; @NotNull private Long createdAt; @NotNull private Long updatedAt; private Map<String, Object> properties;

我无法检索与Gremlin插入的以前的UUID。相反,它检索了我认为内部的海王星长期 我尝试以下
@Id
@Property(name = "id")
private String id;

@Id @Property(name = "~id") private String id;

@Id @Property(name = "`~id`") private String id;

@Id
@Property(name = "nodeId")
private String nodeId;
@Id
@Property(name = "~nodeId")
private String nodeId;
@Id
@Property(name = "`~nodeId`")
private String nodeId;
没有AB的解决方案允许我(通过OGM)用字符串UUID检索完整的顶点对象。
我想念或错过什么? thanks对于任何建议
    
Neo4J OGM库靶向Neo4J服务器,并且与AWS Neptune不兼容。两个DBMS系统太差异了。
您不应该假设任何仅与Neo4J一起使用的工具都会适用于其他DBM,即使他们声称支持OpencyPher,这与Cypher不同。无论如何,Cypher只是整个NEO4J生态系统的一部分。

也是引用

neptune用户指南:“尽管在许多方面兼容,但海王星不是neo4j的倒数替换。”

gremlin amazon-neptune neo4j-ogm opencypher
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.