[英]Neo4J Graph Schema Design for User/Category/Work Nodes
這是Neo4J Graph Design Gurus需要的幫助:
問題:
我們在系統中有以下節點。
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”屬性“流”的實際值取決於用戶所屬的類別。
也就是說,每個“類別”都可以有一個BAG的流,而用戶可以指定一個或多個“流”中的一個
每次在USER和WORK之間建立一個[Specializes]關系時,“ steam”的值必須是NODE中的有效值:CATEGORY.Specialities.array [index]。 面臨的挑戰是,如何在Neo4J中每個類別存儲一個可能的“流”的存儲庫
我的設計對嗎?
如果看起來不正確,請贊賞您對正確設計的指導。
那么您的“工作”是一家公司嗎?
我會做:
(:Person)-[:WORKS_IN]->(:Employment)
(:Employment)-[:HAS_CATEGORY]->(:Category)-[:NEEDS_SKILLS]->(:Skill)
(:Person)-[:HAS_SKILLS]->(:Skill)
(:Employment)-[:IN_COMPANY]->(:Company)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.