Neo4jCQL-はじめに
CQLはCypherQueryLanguageの略です。Oracle Databaseにクエリ言語SQLがあるように、Neo4jにはクエリ言語としてCQLがあります。
Neo4j CQL
- Neo4jグラフデータベースのクエリ言語です。
- 宣言型のパターンマッチング言語です。
- SQLのような構文に従います。
- 構文は非常に単純で、人間が読める形式です。
OracleSQLのように
Neo4j CQLには、データベース操作を実行するためのコマンドがあります。
Neo4j CQLは、WHERE、ORDER BYなどの多くの句をサポートして、非常に複雑なクエリを簡単に記述します。
Neo4j CQLは、String、Aggregationなどの一部の関数をサポートしています。それらに加えて、いくつかの関係関数もサポートしています。
Neo4jCQL句
以下はNeo4jのread句です Cypher Query L言語-
シニア番号 | 条項を読む | 使用法 |
---|---|---|
1 | 一致 | この句は、指定されたパターンでデータを検索するために使用されます。 |
2 | オプションの試合 | これは一致と同じですが、唯一の違いは、パターンの一部が欠落している場合にnullを使用できることです。 |
3 | どこ | この句IDは、CQLクエリにコンテンツを追加するために使用されます。 |
4 | 開始 | この句は、レガシーインデックスから開始点を見つけるために使用されます。 |
5 | CSVを読み込む | この句は、CSVファイルからデータをインポートするために使用されます。 |
以下はNeo4jの書き込み句です Cypher Query L言語-
シニア番号 | 条項を書く | 使用法 |
---|---|---|
1 | CREATE | この句は、ノード、関係、およびプロパティを作成するために使用されます。 |
2 | マージ | この句は、指定されたパターンがグラフに存在するかどうかを確認します。そうでない場合は、パターンを作成します。 |
3 | セットする | この句は、ノードのラベル、ノードのプロパティ、および関係を更新するために使用されます。 |
4 | 削除 | この句は、ノードや関係、パスなどをグラフから削除するために使用されます。 |
5 | 削除する | この句は、ノードと関係からプロパティと要素を削除するために使用されます。 |
6 | FOREACH | このクラスは、リスト内のデータを更新するために使用されます。 |
7 | ユニークな作成 | CREATE句とMATCH句を使用すると、既存のパターンを照合して欠落しているパターンを作成することにより、一意のパターンを取得できます。 |
8 | Cypherを使用したCSVファイルのインポート | [CSVの読み込み]を使用すると、.csvファイルからデータをインポートできます。 |
以下はNeo4jの一般的な条項です Cypher Query L言語-
シニア番号 | 一般条項 | 使用法 |
---|---|---|
1 | 戻る | この句は、クエリ結果セットに何を含めるかを定義するために使用されます。 |
2 | ORDER BY | この句は、クエリの出力を順番に並べるために使用されます。条項と一緒に使用されますRETURN または WITH。 |
3 | 制限 | この句は、結果の行を特定の値に制限するために使用されます。 |
4 | スキップ | この句は、出力に行を含めて開始する行を定義するために使用されます。 |
5 | と | この句は、クエリパーツをチェーン化するために使用されます。 |
6 | 巻き戻し | この句は、リストを一連の行に展開するために使用されます。 |
7 | 連合 | この句は、複数のクエリの結果を組み合わせるために使用されます。 |
8 | コール | この句は、データベースにデプロイされたプロシージャを呼び出すために使用されます。 |
Neo4jCQL関数
以下は、頻繁に使用されるNeo4jCQL関数です。
シニア番号 | CQL関数 | 使用法 |
---|---|---|
1 | ストリング | これらは、文字列リテラルを操作するために使用されます。 |
2 | 集約 | これらは、CQLクエリ結果に対していくつかの集計操作を実行するために使用されます。 |
3 | 関係 | これらは、startnode、endnodeなどの関係の詳細を取得するために使用されます。 |
以降の章では、すべてのNeo4j CQLコマンド、句と関数の構文、使用法、および例について詳しく説明します。
Neo4jCQLデータ型
これらのデータ型はJava言語に似ています。これらは、ノードまたは関係のプロパティを定義するために使用されます。
Neo4j CQLは、次のデータ型をサポートします-
シニア番号 | CQLデータ型 | 使用法 |
---|---|---|
1 | ブール値 | ブールリテラルを表すために使用されます:true、false。 |
2 | バイト | これは、8ビット整数を表すために使用されます。 |
3 | ショート | 16ビット整数を表すために使用されます。 |
4 | int | 32ビット整数を表すために使用されます。 |
5 | 長いです | 64ビット整数を表すために使用されます。 |
6 | 浮く | 32ビット浮動小数点数を表すために使用されます。 |
7 | ダブル | 64ビット浮動小数点数を表すために使用されます。 |
8 | char | 16ビット文字を表すために使用されます。 |
9 | ストリング | 文字列を表すために使用されます。 |
CQL演算子
以下は、Neo4j CypherQuery言語でサポートされている演算子のリストです。
シニア番号 | タイプ | 演算子 |
---|---|---|
1 | 数学 | +、-、*、/、%、^ |
2 | 比較 | +、<>、<、>、<=、> = |
3 | ブール値 | AND、OR、XOR、NOT |
4 | ストリング | + |
5 | リスト | +、IN、[X]、[X…..Y] |
6 | 正規表現 | =- |
7 | 文字列照合 | で始まり、で終わり、制約 |
Neo4jCQLのブール演算子
Neo4jは、複数の条件をサポートするためにNeo4j CQLWHERE句で使用する次のブール演算子をサポートしています。
シニア番号 | ブール演算子 | 説明 |
---|---|---|
1 | そして | AND操作をサポートするのはNeo4jCQLキーワードです。これはSQLAND演算子のようなものです。 |
2 | または | OR操作をサポートするのはNeo4jCQLキーワードです。これはSQLAND演算子のようなものです。 |
3 | ない | NOT操作をサポートするのはNeo4jCQLキーワードです。これはSQLAND演算子のようなものです。 |
4 | XOR | XOR演算をサポートするNeo4jCQLキーワードです。これはSQLAND演算子のようなものです。 |
Neo4jCQLの比較演算子
Neo4jは、条件をサポートするためにNeo4j CQLWHERE句で使用する次の比較演算子をサポートします。
シニア番号 | ブール演算子 | 説明 |
---|---|---|
1 | = | これは、Neo4jCQLの「等しい」演算子です。 |
2 | <> | これは、Neo4jCQLの「等しくない」演算子です。 |
3 | < | これは、Neo4jCQLの「LessThan」演算子です。 |
4 | >> | これは、Neo4jCQLの「大なり記号」演算子です。 |
5 | <= | これは、Neo4jCQLの「以下または等しい」演算子です。 |
6 | > = | これは、Neo4jCQLの「大なり記号」演算子です。 |