visualisation-tool icon indicating copy to clipboard operation
visualisation-tool copied to clipboard

Add additional edges to show direct/ultimate ownership

Open stevenday opened this issue 4 years ago • 6 comments

In the following image, the grey dashed line is an example of a concept for distinguishing between direct and indirect ownership:

image

The grey line shows who the ultimate owner is and is annotated with a calculated percentage showing their eventual share ownership. (For the purposes of this ticket, ignore the other details in the image.) Technically, this would be driven by the isComponent and componentStatementIDs fields in the data standard.

For the purposes of this experiment, we can assume that calculating the percentage ownership is out of scope. We solely want to understand if it's possible to display these additional edges in a way that is understandable. Especially in a way that works in more complex graphs (i.e. Kwik Fit https://register.openownership.org/entities/59b9197d67e4ebf340d33ddc/graph).

stevenday avatar Mar 30 '20 20:03 stevenday

Technically, this would be driven by the isComponent and componentStatementIDs fields in the data standard.

I'm not certain this will always be the case. You might also end up with a mix of direct and indirect relationships when combining data from multiple sources.

We discussed that this kind of 'link line' could potentially exist between any two points in a chain on the directed graph.

My sense is that the programatic trigger for showing it in the style above would be when the bundle of statements contains:

  • An interest exists connecting Person A and Company B with an interestLevel of 'direct';
  • Another chain of interests connecting Person A and Company B with a length > 1

We discussed the idea that an interest with interestLevel of 'indirect' could, in any visualisation, involve the creation of some sort of inferred 'unknown entities' node (see ? ? ? ... between Person A and IBM for example above), which would make for one graph path length between Person A and Company B > 1 in cases where both direct and indirect interest statements are made, even without having extra information.

timgdavies avatar Mar 31 '20 09:03 timgdavies

@timgdavies - thanks for the clarification, I'd forgotten that part of the discussion.

However, I think for the purposes of this experiment we should start with the simple case where the data explicitly declares the relationship and worry about other ways we can infer similar things later. I'd like to get the rendering aspect worked out first before we get bogged down in data mapping/graph traversal issues. Obviously if those are easy, we can add new tickets to expand the scope.

stevenday avatar Mar 31 '20 09:03 stevenday

At present if we provide edge data to Dagre to render automatically then this kind of relationship is drawn poorly (see image). It is possible we could add relationships manually with D3 after the render. For example adding an arc between two nodes positioned behind whatever else is already rendered.

indirect-poor-layout

Lathrisk avatar Apr 10 '20 14:04 Lathrisk

We decided in our mid-sprint review call to park any future work on this feature, except for one small technical foundation which I've ticketed as #10.

We'll review later whether to explore this further, potentially exploring the options of:

  • Drawing new overlaid lines directly with D3
  • Hiding component nodes and changing path styles/labels to use existing edges to temporarily represent ultimate ownership
  • Offering a totally separate view of the data which only has ultimate ownership.

As a result, I'm going to leave this ticket open, but remove it from the scope of the project for this sprint.

stevenday avatar Apr 22 '20 13:04 stevenday

Just wanted to note that we've got an example now from the Armenian ZCMC declaration where the indirect ooc interests between BOs and the declaring entity are disclosed as are the component intermediaries. This results in lots of solid lines: no differentiation between the actual direct relationships and the 'summary' indirect relationship. It's a good test case.

kd-ods avatar Jun 02 '20 15:06 kd-ods

@kd-ods I've opened #35 to address the specific issue of showing when "interestLevel":"indirect"

timgdavies avatar Jun 08 '20 09:06 timgdavies

The edge rendering and visualisation of indirect relationships has moved on since this ticket was opened. (For example, relationship edges marked as 'indirect' are now dotted - not solid - lines. And the layout of edges is better.)

start with the simple case where the data explicitly declares the relationship and worry about other ways we can infer similar things later.

Development of the BODS visualiser is focusing on explicitly declared information in the data, rather than making and visualising inferences.

@StephenAbbott - I suggest we close this ticket as out-of-date. If anyone wants to suggest a new feature relating to inferred relationships, starting a new ticket would be best.

kd-ods avatar Jun 26 '24 11:06 kd-ods