1

Pythonを使用して、neo4jに頂点とエッジを順番に挿入しようとしています。エッジを追加すると、既存のノードが認識されません。py2neo を使用しても電球を使用しても、同様のエラー メッセージが表示されます。

私が取り組んでいることに注意してください:linux64 python2.7 bulbs0.3 py2neo1.5 neo4j-community1.8.2

電球付き:

>>> from bulbs.neo4jserver import Graph
>>> g = Graph()
>>> g.vertices.create(name="James")
>>> g.vertices.create(name="Julie")
>>> g.edges.create(james, "knows", julie)

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-46-9ba24256218d> in <module>()
----> 1 g.edges.create(james, "knows", julie)

NameError: name 'james' is not defined

py2neoで

from py2neo import neo4j
graph=neo4j.GraphDatabaseService()
node=graph.create({"name":'James'},{'name':'Julie'})
rel=graph.create((james,"knows",julie))
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-8-591f826cfd05> in <module>()
      2 graph=neo4j.GraphDatabaseService()
      3 node=graph.create({"name":'James'},{'name':'Julie'})
----> 4 rel=graph.create((james,"knows",julie))

NameError: name 'james' is not defined

さらに、の代わりbulbsに使用すると、同じエラーが発生しました。rexsterneo4j

>>> from bulbs.rexster import Graph
>>> g = Graph()
>>> g.vertices.create(name="James")
>>> g.vertices.create(name="Julie")
>>> g.edges.create(james, "knows", julie)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-6-2cfb5faa42d1> in <module>()
      3 g.vertices.create(name="James")
      4 g.vertices.create(name="Julie")
----> 5 g.edges.create((james, "knows", julie))

NameError: name 'james' is not defined

ここで何が問題なのですか?

ありがとう

4

2 に答える 2

2

アプリケーション変数は、同様のプロパティを持つノードを作成するだけでは自動的に作成されませんjames。あなたはpy2neoコードを共有しておらず、私は電球に精通していませんが、py2neo内で次のようなことをする必要があります:juliename

from py2neo import neo4j
graph_db = neo4j.GraphDatabaseService()
james, julie = graph_db.create(node(name="James"), node(name="Julie"))
graph_db.create(rel(james, "KNOWS", julie))

もちろん、必要に応じて、ノードとリレーションシップの両方を同じステートメント (およびバッチ) で作成することもできます。

from py2neo import neo4j
graph_db = neo4j.GraphDatabaseService()
james, julie, friendship = graph_db.create(
    node(name="James"), node(name="Julie"), rel(0, "KNOWS", 1)
)
于 2013-04-27T14:21:56.393 に答える
1

jamescreate ステートメントにor julievars を設定していません。

適切なコードは次のとおりです。

>>> from bulbs.neo4jserver import Graph
>>> g = Graph()
>>> james = g.vertices.create(name="James")
>>> julie = g.vertices.create(name="Julie")
>>> g.edges.create(james, "knows", julie)

その他の例については、電球のクイックスタートを参照してください。

于 2013-05-16T03:28:12.093 に答える