私は、やや大きなテキスト ファイル (約 100k 行) を読み取って解析し、そのデータを使用して Neo4j ノード ( Neographyを使用しています) を構築する Ruby on Rails プロジェクトに取り組んでいます。これは、私が書いたコードの Neo4j 関連の部分です。
d= Neography::Rest.new.execute_query("MATCH (n:`Label`) WHERE (n.`name`='#{id}') RETURN n")
d= Neography::Node.load(d, @neo)
p= Neography::Rest.new.create_node("name" => "#{id}")
Neography::Rest.new.add_label(p, "LabelSample")
d=Neography::Rest.new.get_node(d)
Neography::Rest.new.create_relationship("belongs_to", p, d)
だから、私がやりたいことは、解析されたデータと同じ「名前」フィールドを持つノードを既に取り込まれたデータベースで検索し、このデータの新しいノードを作成し、最終的に2つの間の関係を作成することです。明らかに、このコードは実行に時間がかかりすぎます。だから私はNeographyのバッチで試してみましたが、いくつかの問題に遭遇しました.
p = Neography::Rest.new.batch [:create_node, {"name" => "#{id}"}]
"nil:NilClass の未定義メソッド `split'" をくれました
id["自己"].split('/').last
d=Neography::Rest.new.batch [:get_node, d]
get_node に対して Neography::UnknownBatchOptionException が返される
これで十分な時間を節約できるかどうかもわかりません。
たとえば、バッチインポートを使用して、これを行うさまざまな方法も試しましたが、必要な作成済みのノードをデータベースから取得する方法が見つかりませんでした。ご覧のとおり、私はこれに慣れていないので、助けていただければ幸いです。前もって感謝します。