Neo4jubuntuインストール環境構成pythonインスタンス

Neo4jの紹介

Neo4J Cypher neo4j-driver py2neoのより詳細で包括的な紹介と使用法については、他の記事を参照することをお勧めします。Neo4j
はJavaベースのグラフデータベースです。Neo4jを実行するには、JVMプロセスを開始する必要があるため、Java SEJDKをインストールする必要があります。

Neo4jアプリケーションのメインディレクトリ構造は次のとおりです。

binディレクトリ:Neo4j実行可能プログラムの保存に使用;
confディレクトリ:Neo4j起動構成ファイルの制御に使用;
データディレクトリ:コアデータベースファイルの保存に使用;
プラグインディレクトリ:Neo4jプラグインの保存に使用

次に、主にubuntuでのneo4j環境構成を紹介します。

環境構成

jdk1.8のインストール

現在のサーバーにJava環境があるかどうかを確認します

java -version

ここに写真の説明を挿入
上の図が表示されている場合は、バージョン1.8をインストールする必要はありません。

そうでない場合は、リンクを参照してください

Neo4jのインストール

サーバーにインストールパッケージをダウンロードします

curl -O http://dist.neo4j.org/neo4j-community-3.4.5-unix.tar.gz

インストールパッケージを解凍します

tar -axvf neo4j-community-3.4.5-unix.tar.gz

解凍したディレクトリに入る

cd neo4j-community-3.4.5-unix

構成ファイルを変更する

vim conf/neo4j.conf

ここに写真の説明を挿入

次の引用はhttps://blog.csdn.net/u013946356/article/details/81736232からのもの
です。dbms.shell.hostの行番号が変更されています。以下のすべての行番号は正しいです。esc編集モードを直接終了して、:linenumber変更する行を直接見つけることができます。

# 修改第22行load csv时l路径,在前面加个#,可从任意路径读取文件
#dbms.directories.import=import

# 修改35行和36行,设置JVM初始堆内存和JVM最大堆内存
# 生产环境给的JVM最大堆内存越大越好,但是要小于机器的物理内存
dbms.memory.heap.initial_size=5g
dbms.memory.heap.max_size=10g

# 修改46行,可以认为这个是缓存,如果机器配置高,这个越大越好
dbms.memory.pagecache.size=10g

# 修改54行,去掉改行的#,可以远程通过ip访问neo4j数据库
dbms.connectors.default_listen_address=0.0.0.0

# 默认 bolt端口是7687,http端口是7474,https关口是7473,不修改下面3项也可以
# 修改71行,去掉#,设置http端口为7687,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.bolt.listen_address=:7687

# 修改75行,去掉#,设置http端口为7474,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.http.listen_address=:7474

# 修改79行,去掉#,设置http端口为7473,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.https.listen_address=:7473

# 修改227行,去掉#,允许从远程url来load csv
dbms.security.allow_csv_import_from_file_urls=true

# 修改246行,允许使用neo4j-shell,类似于mysql 命令行之类的
dbms.shell.enabled=true

# 修改248行,去掉#,设置连接neo4j-shell的端口,一般都是localhost或者127.0.0.1,这样安全,其他地址的话,一般使用https就行
dbms.shell.host=127.0.0.1

# 修改250行,去掉#,设置neo4j-shell端口,端口可以自定义,只要不和其他端口冲突就行
dbms.shell.port=1337

# 修改254行,设置neo4j可读可写
dbms.read_only=false

サービスの開始、コンソール、停止

bin/neo4j start
bin/neo4j console
bin/neo4j stop

パスワード

ユーザー名neo4j
デフォルトのパスワードneo4j

コマンドラインからデフォルトのパスワードを変更します

暗号シェルコマンドラインを入力します

bin/cypher-shell

デフォルトのパスワードを変更する

CALL dbms changePassword('newneo4j');

サイファーシェルコマンドラインを起動する

:exit;

neo4jおよびneo4j-ドライバーのインストール

pip install neo4j neo4j-driver==1.7.6

ここneo4j-driver指定する必要のあるバージョン
については、次のリンクを参照してください:from error neo4j.exceptions.ServiceUnavailable:Neo4Jサーバーは
このドライバーとの通信をサポートしていません。このドライバーはボルト
プロトコルをサポートしていますdict_keys([Version(3、0)、Version(4、0) )])

それ以外の場合、エラーは次のように報告されます。

raise ServiceUnavailable(str(error)) from error
neo4j.exceptions.ServiceUnavailable: 
The Neo4J server does not support communication with this driver. 
This driver have support for Bolt Protocols dict_keys([Version(3, 0), Version(4, 0), Version(4, 1)])

pythonの例


# step 1:导入 Neo4j 驱动包
from neo4j import GraphDatabase
# step 2:连接 Neo4j 图数据库
driver = GraphDatabase.driver("bolt://127.0.0.1:7687", auth=("neo4j", "newneo4j"))
# driver = GraphDatabase.driver("http://127.0.0.1:7474", auth=("neo4j", "neo4j"))

# 添加 关系 函数
def add_friend(tx, name, friend_name):
    tx.run("MERGE (a:Person {name: $name}) "
        "MERGE (a)-[:KNOWS]->(friend:Person {name: $friend_name})",
        name=name, friend_name=friend_name)
# 定义 关系函数
def print_friends(tx, name):
    for record in tx.run("MATCH (a:Person)-[:KNOWS]->(friend) WHERE a.name = $name "
                        "RETURN friend.name ORDER BY friend.name", name=name):
        print(record["friend.name"])

# step 3:运行
with driver.session() as session:
    session.write_transaction(add_friend, "Arthur", "Guinevere")
    session.write_transaction(add_friend, "Arthur", "Lancelot")
    session.write_transaction(add_friend, "Arthur", "Merlin")
    session.read_transaction(print_friends, "Arthur")
    

出力

Guinevere
Lancelot
Merlin

参照リンク

  1. jdk1.8ubuntuのインストール
  2. neo4jの紹介
  3. neo4jubuntu環境構成

おすすめ

転載: blog.csdn.net/qq_32507417/article/details/112403721