neo4jneo4jを使い始める


備考

このセクションでは、neo4jの概要と、なぜ開発者がそれを使いたいのかを概説します。

また、neo4j内の大きなテーマについても言及し、関連するトピックにリンクしてください。 neo4jのドキュメンテーションは新しいものなので、それらの関連トピックの初期バージョンを作成する必要があります。

Cypherクエリ言語

これはNeo4jのクエリ言語Cypherです。 Cypherは、SQLに似ています(ただし、SQLはテーブルに格納されたアイテムを参照し、Cypherはグラフに格納されたアイテムを参照します)。

まず、グラフを作成して関係を追加する方法を学ぶことから始めましょう。これは基本的にNeo4jがすべてのものであるためです。

CREATE (ab:Object { age: 30, destination: "England", weight: 99 })
 
  • CREATEを使用してデータを作成する
  • ノードを示すには、括弧を使用します。()
  • ab:オブジェクト部分は、新しいノードの変数 'ab'とラベル 'Object'のように分解できます。変数は何でも構いませんが、Cypherクエリの行に一貫していなければなりません
  • ノードにプロパティを追加するには、大括弧{}を使用します。

次に、MATCHを見つける方法を学びます

MATCH (abc:Object) WHERE abc.destination = "England" RETURN abc;
 

MATCHは、特定のノード/関係パターン(abc:Object)を検索することを指定します。これは、変数abcに一致を格納する1つのノードパターン(labelオブジェクト)です。この行全体を次のように考えることができます

abc =  find the matches that is an Object WHERE the destination is England.
 

この場合、WHEREは、宛先がイングランドでなければならないという制約を追加します。すべてのMATCHクエリの終わりにリターンを含める必要があります(neo4jはMatchを受け入れることはありません...クエリは常にいくつかの値を返す必要があります[これはまたあなたが書いているクエリのタイプにもよります...]この後、他の種類のクエリを紹介します)。

次の行は、Cypher照会言語のいくつかの要素を調べた後、将来説明されます。これは、この言語でできることをあなたに味わうためです!下に、タイトルが「T」で始まるムービーのキャストを取得する例があります

MATCH (actor:Person)-[:ACTED_IN]->(movie:Movie)
WHERE movie.title STARTS WITH "T"
RETURN movie.title AS title, collect(actor.name) AS cast
ORDER BY title ASC LIMIT 10;
 

コマンドとその構文の完全なリストは、 Neo4j Cypherの公式リファレンスカードにあります

Neo4jサーバのインストールと起動

前提条件のステップ:

  • あなたのマシンにJavaをインストールする
  • neo4jのWebサイトにアクセスし、 "Community Editionのダウンロード"リンクをクリックするか、 ダウンロードリンクに直接アクセスしてください
  • ダウンロードした.tarファイルをホームディレクトリに解凍します。

コンソールからNeo4jを起動する(ヘッドレス、Webサーバーなし)

  • 展開されたフォルダの/bin ディレクトリに移動し、端末./neo4j console 実行します。
  • これで、端末でneo4jクエリを実行できるようになりました

Neo4j Webサーバーを起動する

  • 展開されたフォルダの/ binディレクトリに移動し、端末で実行します./neo4j start
  • http:// localhost:7474 /
  • 初めての場合のみ、デフォルトのアカウントでサインインし、デフォルトのパスワードを変更する必要があります。コミュニティバージョン3.0.3以降、デフォルトのユーザ名とパスワードはneo4jとneo4jです。
  • Webブラウザに用意されているコンソールにNeo4jクエリーを挿入して、各クエリーの結果を視覚的に調べることができます。

Neo4j Webサーバーを起動する

現在(コミュニティ版の)各Neo4jサーバは、1つのNeo4jデータベースをホストできるため、新しいデータベースを設定することができます:

  • サブディレクトリ/bin ./neo4j stop を実行してサーバを停止する
  • サブディレクトリ/conf にアクセスしてneo4j.conf ファイルを編集し、パラメータdbms.active_database 値を作成する新しいデータベースの名前に変更します。
  • サブディレクトリ/ binに再度アクセスし、./ ./neo4j start を実行し./neo4j start
  • Webサーバーが新しい空のデータベースで再開しました。 http:// localhost:7474 /に再度アクセスして、新しいデータベースを操作することができます。
  • 作成されたデータベースは、サブディレクトリ/data/databases dbms.active_database パラメータで指定された名前のフォルダの下にあります。

データベースの1つを削除する

  • Neo4jサーバーが実行されていないことを確認してください。サブディレクトリ/ binに移動し、./ ./neo4j status を実行し./neo4j status 。出力メッセージにサーバーが実行中であることが示されている場合は、. ./neo4j stop も実行します。

  • サブディレクトリ/ data / databasesに移動し、削除するデータベースのフォルダを削除します。

インストールまたはセットアップ

WebブラウザからOSプラットフォームを検出するNeo4jのインストールに進み、ご使用のOSの通常のインストール手順をダウンロードして実行します。

Neo4jはJavaを使用して作成されているため、Javaがインストールされているどのプラットフォームでも動作しますが、Neo4jチームは一般的なプラットフォーム(Macの場合は.dmg、DebianとUbuntuの場合は.deb、.exe Windows 64および32ビットプラットフォーム用...)。

利用可能な他のバージョンとプラットフォームを確認するには、 その他のNeo4jリリースページを参照してください

DockerコンテナとしてNeo4jを設定する:

## Required : Docker machine, docker cli

# Pull neo4j image from the docker hub
docker pull neo4j

# create the docker container
docker run \
    --publish=7474:7474 --publish=7687:7687 \
    --volume=$HOME/neo4j/data:/data \
    neo4j

# If you are running docker directly on the host (e.g ubuntu, RHEL, CentOs etc)
#     Access the neo4j console at http://localhost:7474
# If you are on OSX/ Windows
#     Access the neo4j console at http://<docker-machine-ip>:7474
 

RDBMSとグラフデータベース

RDBMS グラフデータベース
テーブルグラフ
ノード
列とデータプロパティとその値
制約関係
結合トラバーサル