Yes and so why don’t we stick with idea #2. It is consistent with DGML, very clear, and allows for more expressive application of properties on the core graph definitions.
Get Outlook for iOS
From: Larry Golding (Comcast) <
larrygolding@comcast.net>
Sent: Sunday, April 1, 2018 10:46:20 AM
To: Michael Fanning;
sarif@lists.oasis-open.org Subject: RE: [sarif] Another graph design issue: Do we need node.edgeIds
One more random thought: The first idea (nodes describe their outgoing edges, for example,
node.targetNodeIds:string[] ; dispense with the “edge” concept) means that you can’t associate properties like “weight” with an edge.
Larry
From: Larry Golding (Comcast) <
larrygolding@comcast.net>
Sent: Sunday, April 1, 2018 10:27 AM
To: 'Michael Fanning' <
Michael.Fanning@microsoft.com>; '
sarif@lists.oasis-open.org' <
sarif@lists.oasis-open.org>
Subject: RE: [sarif] Another graph design issue: Do we need node.edgeIds
TL;DR: Let’s take DGML’s route and get rid of node.edgeIds .
Random thoughts:
I took a few minutes to study the DGML schema and the DOT wiki page. Yes, DGML is similar to our design, with their “link” playing the role of our “edge”.
Yes, I see how you could represent a simple DOT directed graph with an array of array of node ids, and yes, that would preclude adding properties to the edges. In any case, as visually appealing and efficient as the notation “ a
-> b -> c ” is, visual appeal has never been a design goal of SARIF