I just came across the following when I try and link a node to itself:

java.lang.IllegalArgumentException: Start node equals end node
    at org.neo4j.impl.core.RelationshipImpl.<init>(RelationshipImpl.java:57)
    at
org.neo4j.impl.core.NodeManager.createRelationship(NodeManager.java:280)
    at org.neo4j.impl.core.NodeImpl.createRelationshipTo(NodeImpl.java:308)
    at
org.neo4j.impl.core.NodeProxy.createRelationshipTo(NodeProxy.java:177)

This is probably working as expected but why is this constraint necessary?
It is sometimes meaningful to create such relationships I think - e.g. I'm
trying to represent UML associations in a Neo graph. I suppose I can insert
an intermediate node into every relationship that represents an association,
turning a

subject_node -> relationship -> object_node

into a

subject_node -> subject_relationship -> node_representation_of_relationship
node_representation_of_relationship -> object_relationship -> object_node

to represent the case where subject_node = object_node

but I will have to do some special rendering to get it looking right.

Any insight into how critical this constraint is?

Rob.
_______________________________________________
Neo mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to