使用GQLAlchemy与Memgraph时,能否在子类中手动指定标签?
GQLAlchemy子类手动指定标签的实现方案
可以在子类中手动指定标签,完全覆盖或按需选择父类的标签集合,具体实现方式如下:
完全自定义子类标签:在子类中显式定义
__labels__属性,指定仅属于子类的标签,此时不会继承父类的任何标签。
示例代码:from gqlalchemy import Node, Label # 定义带有多个标签的父类 class ParentNode(Node): __labels__ = [Label("Parent"), Label("Common"), Label("OldTag")] name: str # 子类仅使用自己的标签,不继承父类标签 class ChildNode(ParentNode): __labels__ = [Label("Child")] age: int保留部分父类标签:如果需要保留父类的部分标签,直接在子类的
__labels__中包含所需的父类标签即可。
示例代码:class PartialChildNode(ParentNode): # 仅保留父类的Parent标签,同时添加子类自己的Child标签 __labels__ = [Label("Parent"), Label("Child")] age: int
原理说明:GQLAlchemy中,子类的__labels__属性会直接覆盖父类的标签配置,不会自动继承父类的标签集合,因此你可以完全根据需求手动指定子类的标签。
内容的提问来源于stack exchange,提问作者KWriter
相关产品推荐
相关产品推荐

