Spring Data Neo4j implement relationship entity with @RelationshipProperties and @TargetNode

I have the following legacy relationship entity which I'd like to upgrade to the latest SDN with @RelationshipProperties and @TargetNode :

@RelationshipEntity(type = "HAS_VALUE_ON")
public class RelationshipValue {

    @Id
    @GeneratedValue
    private Long graphId;

    @StartNode
    private Decision decision;

    @EndNode
    private Characteristic characteristic;

Could you please show how to implement it with @RelationshipProperties and @TargetNode annotations ?

A relationship with properties does not point towards both entities anymore but is a directed relationship. We do not make any assumptions if the TargetNode is an end or a start node. This is defined in the relationship-defining class.
Assuming the RelationshipValue is used in Decision and this should get connected to Characteristic, you would define something like:

@RelationshipProperties
public class RelationshipValue {

    @Id
    @GeneratedValue
    private Long graphId;

    @TargetNode
    private Characteristic characteristic;

and in Decision

public class Decision {

    @Relationship("HAS_VALUE_ON") // direction can be OUTGOING (default) or INCOMING
    private RelationshipValue relationshipValue;
}
1 Like

A post was split to a new topic: Add relationships via HTTP Request

@gerrit.meier , In the code of the class RelationshipValue there is no extra data so we can skip the definition of the class, but when we add some fields it will be somehow complecated
Please is there any information about using spring data rest with SDN 6 to persist RealtionshipProperties through an HTTP request