Graph 图形建模(社交网络)
我正在学习如何创建社交网络。让我解释一下,我在尝试表示一个三节点的关系时遇到了麻烦 我有(用户a)邀请(用户b)参加(活动)。我可以这样建模: (用户a)-[invites]->(用户b)-[WASWINVITEDTO]->(事件) 但是有了这个模型,我不可能知道整个过程,因为它会被许多用户邀请参加许多活动。我知道(user_a)邀请(user_b),但我不知道是哪个活动,另一方面我知道(user_b)被邀请参加(活动),但我不知道是谁邀请了他。 案例研究是当我试图通知(用户A)(用户b)已邀请(事件)时 我在解释我自己吗?很难用我的主要语言来解释这一点 我可以采用的唯一解决方案是在关系中设置ID: (用户a)-[邀请{to:event_id}]->(用户b)-[被邀请{from:user_a_id]->(事件) 但我认为这不是一个好的解决办法Graph 图形建模(社交网络),graph,neo4j,Graph,Neo4j,我正在学习如何创建社交网络。让我解释一下,我在尝试表示一个三节点的关系时遇到了麻烦 我有(用户a)邀请(用户b)参加(活动)。我可以这样建模: (用户a)-[invites]->(用户b)-[WASWINVITEDTO]->(事件) 但是有了这个模型,我不可能知道整个过程,因为它会被许多用户邀请参加许多活动。我知道(user_a)邀请(user_b),但我不知道是哪个活动,另一方面我知道(user_b)被邀请参加(活动),但我不知道是谁邀请了他。 案例研究是当我试图通知(用户A)(用户b)已邀请
谢谢您的时间!欢迎来到Stack Overflow 在本例中,我可能希望将“邀请”概念作为图中的节点(此处为绿色编号的节点): 通过创建新的邀请节点,一个用户可以邀请多个其他用户参加多个活动。他们可以为同一事件创建多个邀请,例如,如果他们希望为某些用户组使用不同的文本或图像,而不是其他用户组
您还可以挂起邀请本身的元数据,如发送的日期、文本/图像等。您可以添加图像或代码结构来说明您的问题吗?格式和语言让您很难阅读和理解
MERGE (a: User { name: 'Anne' })
MERGE (b: User { name: 'Bob' })
MERGE (c: User { name: 'Chris' })
MERGE (d: User { name: 'Diane' })
MERGE (e: Event { name: 'The Big Party' })
MERGE (i: Invitation)
MERGE (a)-[:CREATED]->(i)
MERGE (i)-[:SENT_TO]->(b)
MERGE (i)-[:SENT_TO]->(c)
MERGE (i)-[:SENT_TO]->(d)
MERGE (i)-[:RELATES_TO]->(e)
RETURN *