BlueanvilBESPOKE FINTECH SOLUTIONS

Querying Open Ownership Data: UBOs

07 Apr, 2022 · By BlueAnvil Team

We talked in the past about Open Ownership and the way it can be used to identify complex corporate ownership structures. In this article, we want to get into some technical details about querying the Open Ownership register and pulling the list of UBOs for a target company.


But what is a UBO?

The term UBO (Ultimate Beneficial Owner) is not always rigorously defined, but it can be viewed as an extension of Beneficial Owner. And a beneficial owner is defined (to quote Open Ownership) as:

“a person who ultimately has the right to some share of a legal entity’s income or assets, or the ability to control its activities.”

So a UBO generally means a beneficial owner of a company that has control over the target company.

It’s not uncommon to also treat a direct BO as a UBO, but more often than not, UBO is used to signify someone that exercises their control over the target through another entity. This concept is central to a variety of Risk & Compliance or intelligence use cases.

image 1

In the above diagram, for the target (T) there’s an individual with direct control and a set of UBOs which have indirect control over T through a chain of entity ownerships (A and C).


Querying UBOs with Open Ownership

Identifying all the UBOs for a company is a non-trivial task. Jurisdiction data availability and technical implementation sometimes get in the way. But, assuming you have the data and you are using the BODS standard (and the accompanying BODS-RDF), this is fairly straightforward.

A SPARQL query for this would be something along these lines, where ?entity represents our target company and references an entity statement.




PREFIX rdf:      <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX bods:     <http://bods.openownership.org/vocabulary/>
PREFIX bods-res: <http://bods.openownership.org/resource/>

SELECT ?ubo ?controlStatement ?controlledCompany

WHERE {
    ?ubo rdf:type bods:Person .

    ?controlStatement bods:hasInterestedParty ?ubo .
    ?controlStatement bods:hasSubject ?controlledCompany .
    
    # The UBO-controlled company is either our target or
    # has ownership/control over our target
    ?controlledCompany bods:hasInterestIn* ?entity .
}


This query returns the UBOs and the companies that they control directly, as well as the statements representing those ownerships/controls.

Note that we treat individuals with direct control as UBOs, but if you want to exclude them this is fairly simple.




PREFIX rdf:      <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX bods:     <http://bods.openownership.org/vocabulary/>
PREFIX bods-res: <http://bods.openownership.org/resource/>

SELECT ?ubo ?controlStatement ?controlledCompany

WHERE {
    ?ubo rdf:type bods:Person .

    ?controlStatement bods:hasInterestedParty ?ubo .
    ?controlStatement bods:hasSubject ?controlledCompany .
    
    # The UBO-controlled company must have direct or indirect
    # ownership/ctrl over our target, but it cannot be our target
    ?controlledCompany bods:hasInterestIn+ ?entity .
}


Querying Open Ownership Data: UBOs
Share