-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Subtyping and n-ary edges are among possible extensions of GQL proposed in the LDBC community.
Subtyping has caused considerable discussion: for example, both PERSON and COMPANY can own an ACCOUNT, and it seems natural to create a supertype (LEGALENTITY perhaps) so that a LEGALENTITY can own an ACCOUNT. There is currently nothing in the GQL specification about keys (and ID is not a reserved word), but the Financial Benchmark specification frequently treats ID as a key. In the data, ID is a key for PERSON and for COMPANY, there are values of ID that are common to both, so that ID is not a key in LEGALENTITY. Renaming this field in one of the types removes the difficulty.
Similar issues arise for ACCOUNT and LOAN (if we create a supertype ACTBASE).
The Financial Benchmark does not seem to create IDs for edges, so that GUARANTEE naturally becomes an edge from LEGALENTITY to LEGALENTITY, INVEST from LEGALENTITY to COMPANY, OWN from LEGALENTITY to ACTBASE and so on. For importing the data from the existing csv files, it becomes useful to distinguish edge subtypes such as PERSONOWNACCOUNT.
The SIGNIN edge type is interesting: it stands to reason that a SIGNIN for an account could be used to authorise a TRANSFER from an ACCOUNT: incorporating that in the model can be achieved in several ways e.g., as an undirected edge connecting these two edges.
The Financial Benchmark suggests that the workload procedures could be used in triggers as financial data arrives or is imported. Triggers can also be used to keep track of Balance and LastLogin/LastLoginTime fields, and to add the authorisation field for a TRANSFER.