Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在py2neo中创建节点后创建关系_Python_Neo4j_Py2neo - Fatal编程技术网

Python 在py2neo中创建节点后创建关系

Python 在py2neo中创建节点后创建关系,python,neo4j,py2neo,Python,Neo4j,Py2neo,我实际上正在研究遗传学,目前正试图学习py2neo来制作生物数据库,我是个新手,所以请原谅我这个简单的问题 我有一个密码子字典,看起来像这样: codon_dict={'A': ['GCT', 'GCC', 'GCA', 'GCG'], 'C': ['TGT', 'TGC'], 'E': ['GAA', 'GAG'], 'D': ['GAT', 'GAC'], 'G': ['GGT', 'GGC', 'GGA', 'GGG'], 'F': ['TTT', 'TTC'], 'I': ['ATT',

我实际上正在研究遗传学,目前正试图学习py2neo来制作生物数据库,我是个新手,所以请原谅我这个简单的问题

我有一个密码子字典,看起来像这样:

codon_dict={'A': ['GCT', 'GCC', 'GCA', 'GCG'], 'C': ['TGT', 'TGC'], 'E': ['GAA', 'GAG'], 'D': ['GAT', 'GAC'], 'G': ['GGT', 'GGC', 'GGA', 'GGG'], 'F': ['TTT', 'TTC'], 'I': ['ATT', 'ATC', 'ATA'], 'H': ['CAT', 'CAC'], 'K': ['AAA', 'AAG'], 'M': ['ATG'], 'L': ['CTT', 'CTC', 'TTA', 'CTA', 'TTG', 'CTG'], 'N': ['AAT', 'AAC'], 'Q': ['CAA', 'CAG'], 'P': ['CCT', 'CCC', 'CCA', 'CCG'], 'S': ['TCT', 'TCC', 'TCA', 'TCG', 'AGT', 'AGC'], 'R': ['CGT', 'CGC', 'CGA', 'AGA', 'CGG', 'AGG'], 'T': ['ACT', 'ACC', 'ACA', 'ACG'], 'W': ['TGG'], 'V': ['GTT', 'GTC', 'GTA', 'GTG'], 'Y': ['TAT', 'TAC'], 'Stop': ['TAA', 'TAG', 'TGA']}
以及创建节点的简单代码:

from py2neo import neo4j
from py2neo import node,rel

gdb=neo4j.GraphDatabaseService()

gdb.clear()

for i in codon_dict:
    gdb.create(({"aminoacid_name":i,"comprised_of":codon_dict[i]}))
这给了我:

[Node('http://localhost:7474/db/data/node/9830')]
[Node('http://localhost:7474/db/data/node/9831')]
[Node('http://localhost:7474/db/data/node/9832')]
[Node('http://localhost:7474/db/data/node/9833')]
[Node('http://localhost:7474/db/data/node/9834')]
[Node('http://localhost:7474/db/data/node/9835')]
[Node('http://localhost:7474/db/data/node/9836')]
[Node('http://localhost:7474/db/data/node/9837')]
[Node('http://localhost:7474/db/data/node/9838')]
[Node('http://localhost:7474/db/data/node/9839')]
[Node('http://localhost:7474/db/data/node/9840')]
[Node('http://localhost:7474/db/data/node/9841')]
[Node('http://localhost:7474/db/data/node/9842')]
[Node('http://localhost:7474/db/data/node/9843')]
[Node('http://localhost:7474/db/data/node/9844')]
[Node('http://localhost:7474/db/data/node/9845')]
[Node('http://localhost:7474/db/data/node/9846')]
[Node('http://localhost:7474/db/data/node/9847')]
[Node('http://localhost:7474/db/data/node/9848')]
[Node('http://localhost:7474/db/data/node/9849')]
[Node('http://localhost:7474/db/data/node/9850')]
在这段代码之后,我得到了我想要的所有节点,但在创建节点之后,我无法通过它们的名称或URL为它们分配关系((A,“类似”,V)或(9850,“停止”,9840))

有没有办法在创建节点后单独创建关系,或者在创建节点时必须将它们相互关联?

mehmet

这是你需要的东西

每个create调用的返回值都是刚刚创建的节点的节点对象,因此您可以将它们存储在单独的变量或字典中,并使用它们来构建关系。如果使用上面链接中显示的neo4j.node(uri)语法,还可以从数据库中获取每个节点。用于构建关系的create方法中的参数必须是节点对象或对在同一create方法调用中创建的节点的基于0的索引引用。您将不会使用索引表单,因此您将有如下内容

codon_nodes = dict()

for i in codon_dict:
    codon_nodes[i] = gdb.create(({"aminoacid_name":i,"comprised_of":codon_dict[i]}))[0]

rel = gdb.create((codon_nodes['A'], 'is similar', codon_nodes['V']))
恩典与和平

吉姆

迈赫迈特

这是你需要的东西

每个create调用的返回值都是刚刚创建的节点的节点对象,因此您可以将它们存储在单独的变量或字典中,并使用它们来构建关系。如果使用上面链接中显示的neo4j.node(uri)语法,还可以从数据库中获取每个节点。用于构建关系的create方法中的参数必须是节点对象或对在同一create方法调用中创建的节点的基于0的索引引用。您将不会使用索引表单,因此您将有如下内容

codon_nodes = dict()

for i in codon_dict:
    codon_nodes[i] = gdb.create(({"aminoacid_name":i,"comprised_of":codon_dict[i]}))[0]

rel = gdb.create((codon_nodes['A'], 'is similar', codon_nodes['V']))
恩典与和平

吉姆

迈赫迈特

这是你需要的东西

每个create调用的返回值都是刚刚创建的节点的节点对象,因此您可以将它们存储在单独的变量或字典中,并使用它们来构建关系。如果使用上面链接中显示的neo4j.node(uri)语法,还可以从数据库中获取每个节点。用于构建关系的create方法中的参数必须是节点对象或对在同一create方法调用中创建的节点的基于0的索引引用。您将不会使用索引表单,因此您将有如下内容

codon_nodes = dict()

for i in codon_dict:
    codon_nodes[i] = gdb.create(({"aminoacid_name":i,"comprised_of":codon_dict[i]}))[0]

rel = gdb.create((codon_nodes['A'], 'is similar', codon_nodes['V']))
恩典与和平

吉姆

迈赫迈特

这是你需要的东西

每个create调用的返回值都是刚刚创建的节点的节点对象,因此您可以将它们存储在单独的变量或字典中,并使用它们来构建关系。如果使用上面链接中显示的neo4j.node(uri)语法,还可以从数据库中获取每个节点。用于构建关系的create方法中的参数必须是节点对象或对在同一create方法调用中创建的节点的基于0的索引引用。您将不会使用索引表单,因此您将有如下内容

codon_nodes = dict()

for i in codon_dict:
    codon_nodes[i] = gdb.create(({"aminoacid_name":i,"comprised_of":codon_dict[i]}))[0]

rel = gdb.create((codon_nodes['A'], 'is similar', codon_nodes['V']))
恩典与和平


吉姆

这不太正确。
create
方法返回对象列表,即使只创建一个对象。这意味着在这个实例中,返回值需要在
codon\u节点[i]
之后使用一个尾随逗号来解包。请参见此处的警告->是的,但我只是添加了一些以使其正确(rel=gdb.create((密码子节点['A'][0],'is simple',密码子节点['V'][0]))谢谢你们。顺便说一句,py2neo摇滚!请保持下去:)这不太正确。
create
方法返回对象列表,即使只创建一个对象。这意味着在这个实例中,返回值需要在
codon\u节点[i]
之后使用一个尾随逗号来解包。请参见此处的警告->是的,但我只是添加了一些以使其正确(rel=gdb.create((密码子节点['A'][0],'is simple',密码子节点['V'][0]))谢谢你们。顺便说一句,py2neo摇滚!请保持下去:)这不太正确。
create
方法返回对象列表,即使只创建一个对象。这意味着在这个实例中,返回值需要在
codon\u节点[i]
之后使用一个尾随逗号来解包。请参见此处的警告->是的,但我只是添加了一些以使其正确(rel=gdb.create((密码子节点['A'][0],'is simple',密码子节点['V'][0]))谢谢你们。顺便说一句,py2neo摇滚!请保持下去:)这不太正确。
create
方法返回对象列表,即使只创建一个对象。这意味着在这个实例中,返回值需要在
codon\u节点[i]
之后使用一个尾随逗号来解包。请参见此处的警告->是的,但我只是添加了一些以使其正确(rel=gdb.create((密码子节点['A'][0],'is simple',密码子节点['V'][0]))谢谢你们。顺便说一句,py2neo摇滚!请继续保持下去:)