Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add additional edges to show direct/ultimate ownership #5

Closed
stevenday opened this issue Mar 30, 2020 · 7 comments
Closed

Add additional edges to show direct/ultimate ownership #5

stevenday opened this issue Mar 30, 2020 · 7 comments
Labels

Comments

@stevenday
Copy link
Contributor

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).

@timgdavies
Copy link
Contributor

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.

@stevenday
Copy link
Contributor Author

@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.

@Lathrisk Lathrisk self-assigned this Apr 10, 2020
@Lathrisk
Copy link

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

@stevenday
Copy link
Contributor Author

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.

@kd-ods
Copy link

kd-ods commented Jun 2, 2020

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.

@timgdavies
Copy link
Contributor

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

@Lathrisk Lathrisk removed their assignment Feb 2, 2021
@kd-ods
Copy link

kd-ods commented Jun 26, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants