2021年4月24日土曜日

neo4jメモ

 OS関係: Debian 10 (buster), KDE, plasmashell, neo4j version 4.2.5 community 版

neo4j ブラウザでの使い方

使用可能なブラウザ

Neo4jにはブラウザが必要。使えるブラウザは Edge, Chrome, Firefox。Chrome系の iron, Firefox系の Waterfox classicでも動いた。

  • 入力の仕方 Enterキー
    入力欄 neo4j$ Enterキーの仕方。

    • 1行パターン
    コード [Enter]
    • 複数行パターン
    コード [Shift+Enter] 続きコード [Enter] ...... [Enter] コード終了 実行 [Ctrl+Enter]

    エラーが出たら、その上に表示される入力ソースを訂正して [Ctrl+Enter]

Hello world! と表示するだけの例

(1個のノードのバリューを表示するだけ)

1. ターミナルで systemctl start neo4j → ルートパスワード または、sudo neo4j start → ユーザパスワード。neo4jはサービスで動いてるのでターミナルは閉じても開きっぱなしでもかまわない。 2. ブラウザを起動。アドレス欄に "http://localhost:7474/" と入力。 3. Usernameと Password (初期値は neo4j, neo4j or 自分の設定ワード)。初めてのときはpasswordを変更しないとログインできない。 4. 入力欄 neo4j$ に CREATE (p:Smile{message:"Hello \n world!"}) /// [Shift+Enter] RETURN p /// [Ctrl+Enter] 5. 終了。左サイドウインドの下の方の赤いアイコン→Clear local data→Clear local data→ログイン画面に戻ったらブラウザを終了。 6. ターミナルで、systemctl stop neo4j → ルートパスワード または sudo neo4j stop → ユーザパスワード

素人の雑感

  • グラフ表示が出なかったら、左の"Graph"アイコンをクリック (OSによって上記 \nは、\r\nかも)。

  • 上の例なら、全部小文字でも構わない。任意に付けたラベル(上のSmile)は、大文字と小文字は別の要素になる。(入力は cypher-shellに渡してるだけ?)

  • createで作ったノードは間違って入力したものもどんどん貯まる。上の例言えば MATCH (p) RETURN p とすれば間違い入力分も表示する。MATCH (p) DELETE p で消せる。MATCH (n) RETURN n ならその他も全て表示。まとめて全部消すには MATCH (n) DETACH DELETE n

  • ブラウザにコードのコピペできないとき
    ネット上のコードサンプルや、テキストで書いたコードをブラウザのコード欄 'neo4j$ 'にマウス右ボタンでコピー、左ボタンでペーストできない場合、 3or5ボタンマウスなら真ん中ボタンでペーストするとうまく行くことがある。

  • ノード(グラフの○、デフォルトで300)が増えると一気に処理が遅くなる (総当り的?)。この手のソフトはマルチコアでもCore 1コしか使わないので、早いクロックのCPUが向いてる。 バージョンアップでマルチコアで処理するようになった。

  • 試しに自治体の Covid19情報から、感染の経路をたどってみた (濃厚接触者不明と2次で経路が途絶えたものを除くノード5600程)。(関連 graphviz)