openownership / visualisation-tool

A visualisation library for beneficial ownership structures
https://www.openownership.org/en/publications/beneficial-ownership-visualisation-system/bods-data-visualiser/
Apache License 2.0
19 stars 4 forks source link

Unknown properties of interests should be well represented #105

Closed kd-ods closed 1 year ago

kd-ods commented 2 years ago

In the data there are 3 things that can be unknown about an interest:

(1) Its directness (2) Its type (shareholding, appointment of directors etc.) (3) Its magnitude ('share').

(Or any combination of the above.)

So edges should not have the label 'unknown' since that is ambiguous.

In the short term, the 'unknown' label should be replaced with: 'Interest details unknown' since it is displayed when the interests array is completely empty (and possibly in other cases?).

In the longer term, I suggest that unknown values in the above cases are represented as follows:

(1) An 'unknown' value for directOrIndirect is represented as a dotted line (as is an 'indirect' value) (2) The title of the interestType is used as a label. And where no interestType is supplied 'empty interest' is used as the label. (3) The default line weight is used where no magnitude (share) is given.

StephenAbbott commented 2 years ago

@Lathrisk Could you implement @kd-ods' suggested short-term solution as part of visualisation sprint 4 and then leave this card open for future reference?

Lathrisk commented 2 years ago

@StephenAbbott The short term solution has already been implemented to my knowledge - https://openownership.github.io/visualisation-tool/

StephenAbbott commented 2 years ago

@Lathrisk Ah OK. Couldn't tell from this issue cc @kd-ods

Lathrisk commented 2 years ago

WRT to the longer term solution:

(1) An 'unknown' value for directOrIndirect is represented as a dotted line (as is an 'indirect' value) (2) The title of the interestType is used as a label. And where no interestType is supplied 'empty interest' is used as the label. (3) The default line weight is used where no magnitude (share) is given.

1) and 3) are already in effect 2) requires more investigation to decide how we map interestTypes to the visual language or represent them differently (partially captured in #97)

@kd-ods also proposed no label on an edge where the interest type is within the codelist, and stating 'Interest details unknown' when the data contains no indication of the interest types or values.

lgs85 commented 2 years ago

Just adding for clarity/memory's sake that (I think) we also agreed that edge labels would be 'Interest details unknown' when interestType is 'unknownInterest'

Lathrisk commented 2 years ago

@kd-ods Also for note, I have data from the register that contains interestTypes such as other-influence-or-control-of-trust. I'm excluding these for now, but this likely comes back to the question of how much backwards compatibility we want to support.

Lathrisk commented 2 years ago

@kd-ods @lgs85 My understanding is that it is possible for one ownershipAndControlStatement to have multiple interestTypes in the share array. I'm also going to assume that unknownInterest can occur in the same array as others (e.g. where 20% is known as control, but the other 80% is unknown). If that assumption is correct then we should only display "Interest details unknown" when unknownInterest is the only interestType. Does that make sense?

lgs85 commented 2 years ago

@Lathrisk broadly yes - interests is an array within the OOC statement, and each interest can have up to one type element. So each OOC statement can have multiple interests of different types. This is slightly separate, I think, from share, which is another object within interests that may or may not be provided

we should only display "Interest details unknown" when unknownInterest is the only interestType.

Yes I think so

Lathrisk commented 2 years ago

@lgs85 thanks, and apologies, I meant the interests array, not the share array, but that makes sense. I'll check for instances when unknownInterest is the only interestType.

kd-ods commented 2 years ago

That all sounds good.

... we should only display "Interest details unknown" when unknownInterest is the only interestType.

Plus when the interests array is empty or the property doesn't exist, right?