我正在建立一个主数据库来存储有关我们客户的所有相关信息。我正在使用 Neo4j。
下面是我们的模型示例。我们有Person
,可以在我们的 3 个移动应用程序中注册。( App.01
, App. 02
, App. 03
- 我们使用 CPF 密钥,它就像一个 SSN)。在这些应用程序中,用户可以使用电子邮件进行注册。所以它是由Email
实体表示的。这些用户可以有多个由Address
实体表示的地址。
问题是:当我正在构建主数据时,IMO,如果有人查询 mdm 数据库,询问有关某个人的所有“最佳”信息,我会返回例如:姓名:John Best 电子邮件:email2(因为它有两个应用程序使用它)最佳地址:addr1(因为它有两个应用程序使用它)
因此,我将构建一些启发式方法来定义什么是“最佳”电子邮件和地址。
为此,我有一些选择:
John
我可以从toemail2
和 to创建一个边缘addr1
。因此,MDM 的用户很容易从 John 那里获得“最佳”地址/电子邮件。我可以构建一个 REST API 端点并在查询时创建这个启发式方法。
有人有使用图形数据库或设计 MDM 数据库的经验吗?这是一个好方法吗?
这个问题是对问题的补充:Using Neo4j to build a Master Data Management