The document contains the details of Graph implementation for Tvam within BangDB. The following details are covered in the document

  • The Entities and their properties
  • The relationship between entities and their properties
  • Efficiency of this Graph model
  • Flexibility and how to edit/update the graph model for future changes
  • Cluster and Similarities, and the properties used for creating them
  • Query templates and examples
  • Query benchmarking for ~300K data in the schema [ using REST QUERY]

The document provides a detail for each entity and relation with several properties that are attached to these. Sample view of the part of the graph is also given everywhere. In the end the overall graph is also printed.

The graph structure needs to be flexible and extensible in nature with logical hierarchy also preserved as far as possible. And above this, it is also very important that the graph scales well and performance for both read and write is high. Further, we must also ensure that data preserves the natural groups, cliques, segments etc. Finally, we must also ensure that the Graph uses nomenclatures which is natural to the domain and aligns with RDF models.

To ensure that, these flexibilities are there in the structure, the document also lists several queries that might be performed in production and to enable the use cases. The queries are benchmarked for REST call (which is most conservative and would kind of provide the baseline). The results of the queries are also depicted pictorially for clarity. Further, these queries can be extended or more can be added as needed. As of now it lists over 40 such query templates with over 100 possible variations for different permutations and combinations for different contexts. This is to ensure that there is enough flexibility in the structure to query in many ways.

Note: The Graph, and related details (including queries) are subject to the receipt and test on actual data. These may change once we get the data, but the current structure should take care of the change easily

Entities, relationships, and their properties

    1. Person
  • CustRefID (Customer ID and TvamCustRefID): Node
NullableNo
PropertiesLangType, Gender, DOB, AgeAtRegistration, RegistrationDay, RegistrationMonth, RegistrationYear, CreatedDate
Node ModifiabilityNo
Property ModifiabilityYes
Property ExtensibilityYes

MemberID (FamilyMemberID and FamilyMemID): Node

NullableNo
PropertiesGender, DOB
Node ModifiabilityNo
Property ModifiabilityYes
Property ExtensibilityYes

HAS_FAMILY_MEMBER: Relation between CustRefID and MemberID