我是neo4j的新手,希望对db设计理念有所帮助。Neo4j数据库 - 链接或属性?
我有动物1000个在我的数据库,每个大约10种之一(牛,绵羊,山羊,猫,狗.....)
在关系数据库我将有一个动物表和物种表,每个动物的物种将通过动物ID和物种ID之间的连接来定义。
在neo4j中,“显而易见的”方法是将动物作为节点和物种作为其属性之一。但是,这似乎是一个倒退的步骤,因为我面临维护1000个具有拼写差异风险的物种名称副本的经典问题。
或者,我有1,000个动物节点和10个“物种”节点,每个动物指向成与IS_A关系的物种:
(菊花:动物) - [IS_A] - >(牛:母牛)
即 '感觉' 可怕笨拙。几乎每个搜索都将针对特定的动物/物种组合进行搜索。
什么是“首选”解决方案?
有一堆类似的决定。例如,每只动物都是“活着”或“死亡”。我是否拥有这样的财产?或者我将动物指向两个称为活着和死亡的节点之一?
感谢任何指针