【问题标题】:Neo4J Graph Schema Design for User/Category/Work Nodes用户/类别/工作节点的 Neo4J 图形模式设计
【发布时间】:2014-10-16 06:54:52
【问题描述】:

以下是我需要 Neo4J 图形设计大师的帮助:

问题:

我们在系统中有以下节点。

NODE TYPE 1: USER{id, name, dob, address, interests (fk: CATEGORY{id})}
NODE TYPE 2: CATEGORY{id, name, Specialities:Array of }
NODE TYPE 3: WORK{id, type, name, address}

 If (USER) -> [SPECIALIZES {stream:'computers'}] -> (WORK)

关系 'SPECIALIZES' 属性 'stream' 实际值取决于 USER 所属的 CATEGORY。

即每个 CATEGORY 可以有一个 BAG 流,用户可以专门研究一个/多个“流”

每次在 USER 和 WORK 之间建立关系 [Specializes] 时,“steam”的值需要是来自 NODE 的有效值:CATEGORY.Specialities.array[index]。挑战是如何在 Neo4J 中存储每个 CATEGORY 的可能“流”存储库

我的设计对吗?

如果这看起来不正确,请感谢您对正确设计的指导。

【问题讨论】:

  • 你能不能画一幅画?
  • 或许可以用原来的业务领域的话来解释一下?
  • 刚刚添加,如果您需要更多详细信息,请告诉我。

标签: database-design graph neo4j cypher


【解决方案1】:

所以你的“工作”是一家公司?

我愿意:

(:Person)-[:WORKS_IN]->(:Employment)
(:Employment)-[:HAS_CATEGORY]->(:Category)-[:NEEDS_SKILLS]->(:Skill)
(:Person)-[:HAS_SKILLS]->(:Skill)
(:Employment)-[:IN_COMPANY]->(:Company)

【讨论】:

    猜你喜欢
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多