Neo4j GraphDBブートキャンプ完全版: スカラー関数 (セクション35/49)
Neo4j のスカラー関数を使いこなすことで、グラフデータを柔軟に操作・抽出できる
coalesce()、endNode()、head()、id()、length()、properties()、size()、startNode()、type() など主要な関数を解説
これらの関数をマスターすることで、Neo4j開発者は実世界のクエリと分析を強力に行えるようになる
2024年版のComplete Neo4j GraphDB Bootcampのセクション35では、Neo4jでの強力なクエリとデータ操作を可能にする重要なスカラー関数を深く掘り下げています。ここでは、カバーされた主要な関数のいくつかを見直してみましょう。
coalesce() - この関数は、式のリストから最初のnull以外の値を返します。欠落しているプロパティやオプションのプロパティを処理するのに便利です。例えば:
match(n)
where n.name="Jane"
return coalesce(n.nationality, n.age)
これは、存在する場合はJaneの国籍を返し、そうでない場合は彼女の年齢を返します。
endNode() - 関係の終了ノードを返します。関係をたどり、それらが指しているノードを特定するために使用できます:
match (n:Teacher)-[r]->()
where n.name="Peter"
return endnode(r)
これは、Teacherノード「Peter」から始まるすべての関係にマッチし、終了ノードを返します。
head() - リストの最初の要素を返します。最初の結果を取得するのに便利です:
match (n)-[r:ACTED_IN]->(m)
return head(collect(n.born))
俳優の生年をリストに収集し、最初のものを返します。
id() - ノードの内部IDを返します。これはノードを一意に識別するために使用できます:
match (n)-[:FOLLOWS]->(b)
return n.name as name, id(n) as ID
last() - head()の反対で、リストの最後の要素を返します。
length() - ノード間のパスの長さを計算します:
match p=(k{name:"Kate"})-[*]-(r{name:"Rita"})
return length(p)
これは、KateとRitaの間のすべてのパスを見つけ、それらの長さを返します。
properties() - ノードまたは関係のすべてのプロパティのマップを返します。ノードと関係内のデータを検査することができます。
size() - 文字列、リスト、またはパターン式のサイズを返します。パスの長さに使用されるlength()との違いに注意してください。
startNode() - 関係の開始ノードを返します。endNode()の対になります。
type() - 関係のタイプ(ラベル)を返します:
match (n{name:"Kate"})-[r]->(V{name:"Victor"})
return type(r)
これは、KateノードとVictorノード間の関係タイプを返します。
インストラクターは、length()とsize()のような関連する関数の違いを理解することを強調し、実際のアクションの各関数の多数の例を提供します。
これらのスカラー関数をマスターすることで、Neo4j開発者はグラフデータを洗練された方法で抽出および操作できます。このブートキャンプは、実世界のNeo4jクエリと分析のためにこれらの関数を活用するための確固たる基盤を与えます。この包括的なNeo4jトレーニングからのさらなる洞察にご期待ください!
この記事が気に入ったらサポートをしてみませんか?