Corporate Structure
Corporate structure dashboard example
- Go to https://neodash.graphapp.io/
- New dashboard
- neo4j+s://ea9dc708.databases.neo4j.io:7687 and enter password (if provided)
- or use your local database (instructions)
- Load dashboard (down arrow icon)
- Select from file and import svb_dashboard.json
Examples
Bank Name | Identifiers | Descendants Only (GraphML) | Descendants and Ancestors (GraphML) |
---|---|---|---|
Silicon Valley Bank | FDIC, RSSD, LEI | ⬇️ Download | ⬇️ Download |
Signature Bank | FDIC, RSSD, LEI | ⬇️ Download | ⬇️ Download |
Silvergate Bank | FDIC, RSSD, LEI | ⬇️ Download | ⬇️ Download |
Notes:
- The NIC data is from 2023-02-20 and LEI from 2023-03-06.
- The NIC and LEI data for the same entity is connected by special “Resolved” nodes that can be followed to see the corresponding LEI node to a NIC node and vice versa. In the case that a NIC entity has no explicit LEI ID, the resolution is best effort according to name and jurisdiction and may not always have an exact match.
- Signature Bank’s resolution node between NIC and LEI is not in the database, since the addresses are different enough to escape the automated matching threshold.)
- These graphs include all historical relationships as well, tagged with start and end dates to see the history of ownership.
- The ancestor data only includes paths to ancestors from the given bank, and not the ancestors entire descendant tree.
- This data also includes transformations into any parent or child in the tree, which represents prior mergers, sales, etc.
Running the Queries
Assuming that the resolved database has been loaded in neo4j, this script collects descendants and ancestors for three banks across both the NIC and LEI database and outputs them as GraphML. It was used to generate the examples above.
Retrieving descendants
The following query is used to retrieve all descendants of the given parent RSSD over both the NIC and LEI databases, including
- all descendants from the NIC database
- all banks that have transformed into the parent or any of its children
- all banks from the LEI database that resolved with the parent or any descendants
- all banks that descend from the LEI bank nodes
For example, to get the descendants of Silicon Valley Bank, use the following query:
MATCH (n{ID_RSSD: 802866})
CALL apoc.path.subgraphAll(n, {relationshipFilter: "RESOLVED_FROM|RELATIONSHIP>|TRANSFORMATION<|IS_DIRECTLY_CONSOLIDATED_BY<|IS_ULTIMATELY_CONSOLIDATED_BY<"})
YIELD nodes, relationships
RETURN nodes, relationships;
Retrieving descendants and ancestors
The following query adds ancestors to the results, only getting those paths that lead to the RSSD. The first CALL is the same as above, while the second CALL reverses the direction of the edges.
MATCH (n{ID_RSSD: 802866}) CALL apoc.path.subgraphAll(n, {relationshipFilter: "RESOLVED_FROM|RELATIONSHIP>|TRANSFORMATION<|IS_DIRECTLY_CONSOLIDATED_BY<|IS_ULTIMATELY_CONSOLIDATED_BY<"}) YIELD nodes, relationships
WITH nodes as nodes1, relationships as relationships1
MATCH (n{ID_RSSD: 802866}) CALL apoc.path.subgraphAll(n, {relationshipFilter: "RESOLVED_FROM|RELATIONSHIP<|TRANSFORMATION>|IS_DIRECTLY_CONSOLIDATED_BY>|IS_ULTIMATELY_CONSOLIDATED_BY>"}) YIELD nodes, relationships
RETURN nodes1, relationships1, nodes, relationships;