[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Another graph design issue: Do we need node.edgeIds
Here’s what I wrote about node.edgeIds:
A node object SHALL have a property named edgeIds whose value is an array of unique (§3.6.2) strings, each of which identifies an edge that starts at this node. Thus, each string in the array SHALL be equal to the sourcedNodeId property (§3.27.4) of one of the edge objects (§3.27) in the graph object (§3.25) in which it occurs. Likewise, the value of every such sourceNodeId SHALL occur in the edgeIds array.
That is, you don’t strictly need node.edgeIds; you could derive it by looking at every edge object and selecting those whose sourceNodeId property matched node.id. And then you wouldn’t have to worry about consistency between the node.edgeIds and the edge.sourceNodeIds.
OTOH, if the graph is large, it might be burdensome to compute node.edgeIds from the set of all edge.sourceNodeIds.