Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graph neo4j数据库的良好模式_Graph_Neo4j - Fatal编程技术网

Graph neo4j数据库的良好模式

Graph neo4j数据库的良好模式,graph,neo4j,Graph,Neo4j,基于电话簿的社交共享网络的最佳设计是什么 背景: 应用程序同步联系人的电话簿和用户的社交网络,构建图表并给出建议 用例: 1.向电话簿中的人推荐朋友、共同的朋友。 2.最初,用户连接到的具有社交链接的节点不多,因此可能是 如果你有很多朋友,但很少有社交朋友。这有意义吗 为每个社交ID建立新关系(bbm、FB、linkedin) 3.我们将建立一个网络,当新用户加入时,老用户通过该网络获得通知 任何社交网络和注册到我们的应用程序。 4.当天选择-基于共同的朋友(学位、社会兴趣和国家)、用户 可以搜

基于电话簿的社交共享网络的最佳设计是什么

背景: 应用程序同步联系人的电话簿和用户的社交网络,构建图表并给出建议

用例: 1.向电话簿中的人推荐朋友、共同的朋友。 2.最初,用户连接到的具有社交链接的节点不多,因此可能是
如果你有很多朋友,但很少有社交朋友。这有意义吗 为每个社交ID建立新关系(bbm、FB、linkedin) 3.我们将建立一个网络,当新用户加入时,老用户通过该网络获得通知 任何社交网络和注册到我们的应用程序。 4.当天选择-基于共同的朋友(学位、社会兴趣和国家)、用户 可以搜索国家级的社交ID。 5.用户始终基于搜索来自1个国家或其连接节点(高达4度)的人员 男性/女性和年龄过滤器。 6.状态更新将通知具有社交ID的其他连接节点

模式: 国家(每个国家1个关系或桶)。 朋友(电话簿中的所有人)-电话号码作为键。 社交朋友(每个社交网络公司1个关系或bucket-只要您的电话簿中有人更新我们网站上的社交链接,就会立即更新关系)。 1男性关系-帮助筛选和选择建议。 1女性帮助关系,用于筛选和挑选建议


将朋友和社交朋友添加为关系是否有意义?

通常您会这样做:

(u:User { phone : "phone#" })-[:ON_PHONE]->(u2:User { phone : "phone#" })

(u:User { phone : "phone#" })-[:KNOWS]->(u2:User:Facebook { phone : "phone#", fbid: "fbid" })
(u:User { phone : "phone#" })-[:KNOWS_ON_FB]->(:FacebookUser {fbid:"fbid"})<-[:ON_FB]-(u2:User { phone : "phone#", fbid: "fbid" })
如果您想保留社交网络连接来源的记录信息,可以将其他链接添加到图表中,如下所示:

(u:User { phone : "phone#" })-[:ON_PHONE]->(u2:User { phone : "phone#" })

(u:User { phone : "phone#" })-[:KNOWS]->(u2:User:Facebook { phone : "phone#", fbid: "fbid" })
(u:User { phone : "phone#" })-[:KNOWS_ON_FB]->(:FacebookUser {fbid:"fbid"})<-[:ON_FB]-(u2:User { phone : "phone#", fbid: "fbid" })

感谢Michael提出的方案。我正在考虑根据我们最初的工作考虑未来可能会有SAAS模型。我相信,如果关系单独维护,企业会希望这样一个事实&我们还可以记录社交网络连接来自何处的信息。话虽如此,您认为我们是否需要将国家/地区作为一个单独的关系来实现可扩展性,因为我们的用户(在社交网络上)搜索特定国家/地区的用户。我们使用国家/地区过滤器和男性/女性作为另一个关系。这是否正确?