Summary
When updating an entity with multiple relationships that share the same relationship key (e.g. two MANDATES edges from one Act to different targets), only one relationship is persisted. The other is dropped or overwritten. This blocks valid graph patterns where one source node should have multiple outgoing edges of the same type in one update request.
Environment
- API: OpenGIN ingestion —
PUT /entities/{id}
- Backend: Neo4j handler (
HandleGraphEntityUpdate path, inferred from server logs)
- Observed: 2026-06-02
Steps to reproduce
- Create a source entity (e.g.
Universities Act, Document/act).
- Create two target entities:
- Target A:
University Grants Commission (organisation)
- Target B:
Commission Meeting (event)
- Send one update to the source entity with two relationships, both using key
MANDATES and distinct value.id values:
{
"id": "<source_id>",
"relationships": [
{
"key": "MANDATES",
"value": {
"id": "<rel_id_1>",
"name": "MANDATES",
"relatedEntityId": "<target_a_id>",
"startTime": "2026-06-02T00:00:00Z",
"endTime": ""
}
},
{
"key": "MANDATES",
"value": {
"id": "<rel_id_2>",
"name": "MANDATES",
"relatedEntityId": "<target_b_id>",
"startTime": "2026-06-02T00:00:00Z",
"endTime": ""
}
}
]
}
Summary
When updating an entity with multiple relationships that share the same relationship key (e.g. two
MANDATESedges from one Act to different targets), only one relationship is persisted. The other is dropped or overwritten. This blocks valid graph patterns where one source node should have multiple outgoing edges of the same type in one update request.Environment
PUT /entities/{id}HandleGraphEntityUpdatepath, inferred from server logs)Steps to reproduce
Universities Act,Document/act).University Grants Commission(organisation)Commission Meeting(event)MANDATESand distinctvalue.idvalues:{ "id": "<source_id>", "relationships": [ { "key": "MANDATES", "value": { "id": "<rel_id_1>", "name": "MANDATES", "relatedEntityId": "<target_a_id>", "startTime": "2026-06-02T00:00:00Z", "endTime": "" } }, { "key": "MANDATES", "value": { "id": "<rel_id_2>", "name": "MANDATES", "relatedEntityId": "<target_b_id>", "startTime": "2026-06-02T00:00:00Z", "endTime": "" } } ] }