我正在开发一个 python 程序,该程序允许用户通过将“标签”附加到文件来对文件进行分类。这些标签可以彼此处于层次关系中。例如,“猫”标签可以归类为“哺乳动物”标签的“后代”。因此,一旦文件被标记为“狗”,它也可以通过“哺乳动物”标签访问。
这些标签及其相互之间和与文件的关系显然需要存储在数据库中,而我最熟悉关系数据库。
我非常喜欢将树存储在关系数据库中的Modified Pre-order Tree Traversal方法,因为它不需要递归并且需要更少的数据库查询。
但是,我也想促进与多个父母的标签。例如,“狗”可以是“哺乳动物”的孩子,也可以是“四足动物”的孩子,其中并非所有四足动物都是哺乳动物甚至动物(例如桌子),“哺乳动物”和“四足动物” -thing' 标签没有“共同祖先”。
有谁知道在保持 MPTT 方法的一些优点的同时在数据库中表示这种关系的方法?
谢谢你的帮助。