相关节点到现有节点 py2neo ogm

related node to existing node py2neo ogm

我使用py2neo V3连接neo4j数据库

我的 ogm 模型:

class User(GraphObject):
    __primarykey__ = "username"

    username = Property()
    password = Property()

    ppi_graph = RelatedTo(Graph, "PPI_Graph")

class Graph(GraphObject):
    __primarykey__ = "name"

    name = Property()
    date = Property()

    node = RelatedTo(Node)
    user = RelatedFrom(User,"PPI_Graph")

class Node(GraphObject):
    __primarykey__ = "name"

    name = Property()

    ppigraph = RelatedFrom(Graph, "HAVE_NODE")
    related = Related(Node, "Related")

第一种方法:

查找用户,创建新图,将用户添加到图 graph.user.add()

graph #connection to neo4j db
user = User.select(graph, username).first()
gr = Graph()
gr.name = "graph"
gr.date = "today"
gr.user.add(user)
graph.push(gr)

此方法将数据推送到数据库

第二种方法:

找到用户,创建新图,将图添加到用户user.graph.add()

graph #connection to neo4j db
user = User.select(graph, username).first()
gr = Graph()
gr.name = "graph"
gr.date = "today"
user.ppi_graph.add(us)
graph.push(us)

此方法在将 ppi_graph 添加到用户时引发错误:

    related_object = self.related_class.wrap(node)
AttributeError: type object 'Graph' has no attribute 'wrap'

为什么我不能为找到的用户添加新图表?

GraphNode 是核心 py2neo 类,您可能不应该使用这些名称来定义您自己的 类,以免出现这种混淆。