スカラー関数は、単一の入力値に対して演算し、単一の出力値を返す関数です。 これらの関数は、コンピューティングおよび変換タスクのデータ処理および分析に使用されます。
id
id() は、頂点または辺のIDを返します。
構文
id(expression)戻り値
agtype整数。
Parameters
パラメーター | 説明 |
expression | 頂点またはエッジを返す式。 |
例
SELECT *
FROM cypher('graph_name', $$
MATCH (a)
RETURN id(a)
$$) as (id agtype);サンプル結果:
id
--------
0
1
2
3
(4 rows)start_id
start_id() は、エッジの開始頂点である頂点のIDを返します。
構文
start_id(expression)戻り値
agtype整数。
Parameters
パラメーター | 説明 |
expression | エッジを返す式。 |
例
SELECT *
FROM cypher('graph_name', $$
MATCH ()-[e]->()
RETURN start_id(e)
$$) as (start_id agtype);サンプル結果:
id
--------
0
1
2
3
(4 rows)end_id
end_id() は、エッジの終了頂点である頂点のIDを返します。
構文
end_id(expression)戻り値
agtype整数。
Parameters
パラメーター | 説明 |
expression | エッジを返す式。 |
例
SELECT *
FROM cypher('graph_name', $$
MATCH ()-[e]->()
RETURN end_id(e)
$$) as (end_id agtype);サンプル結果:
id
--------
4
5
6
7
(4 rows)type
type() は、エッジ型の文字列表現を返します。
構文
type(edge)戻り値
agtype文字列。
Parameters
パラメーター | 説明 |
edge | エッジを評価する式。 |
例
SELECT *
FROM cypher('graph_name', $$
MATCH ()-[e]->()
RETURN type(e)
$$) as (type agtype);サンプル結果:
type
-----------
"KNOWS"
"KNOWS"
(2 rows)properties
properties() は、頂点または辺のすべてのプロパティを含むagtypeマップを返します。 引数がすでにマップの場合は、変更されずに返されます。
構文
properties(expression)戻り値
agtypeマップ。
Parameters
パラメーター | 説明 |
expression | 頂点、エッジ、またはagtypeマップを返す式。 |
使用上の注意
properties(null) はnullを返します。
例
SELECT *
FROM cypher('graph_name', $$
CREATE (p:Person {name: 'Stefan', city: 'Berlin'})
RETURN properties(p)
$$) as (properties agtype);サンプル結果:
properties
--------------------------------------
{"city": "Berlin", "name": "Stefan"}
(1 row)ヘッド
head() は、agtypeリストの最初の要素を返します。
構文
head(list)戻り値
返される値の型は、リストの最初の要素の型です。
Parameters
パラメーター | 説明 |
list | リストを返す式。 |
使用上の注意
head(null)はnullを返します。リストの最初の要素が
nullの場合、head(list)はnullを返します。
例
SELECT *
FROM cypher('graph_name', $$
MATCH (a)
WHERE a.name = 'Eskil'
RETURN a.array, head(a.array)
$$) as (lst agtype, lst_head agtype);サンプル結果:
lst | lst_head
-------------------------+----------
["one","two","three"] | "one"
(1 row)最後
last() は、agtypeリストの最後の要素を返します。
構文
last(list)戻り値
返される値の型は、リストの最後の要素の型です。
Parameters
パラメーター | 説明 |
list | リストを返す式。 |
使用上の注意
last(null)はnullを返します。リストの最後の要素が
nullの場合、last(list)はnullを返します。
例
SELECT *
FROM cypher('graph_name', $$
MATCH (a)
WHERE a.name = 'Eskil'
RETURN a.array, last(a.array)
$$) as (lst agtype, lst_tail agtype);サンプル結果:
lst | lst_tail
-------------------------+----------
["one","two","three"] | "three"
(1 row)length
length() はパスの長さを返します。
構文
length(path)戻り値
agtype整数。
Parameters
パラメーター | 説明 |
パス | パスを返す式。 |
使用上の注意
length(null) はnullを返します。
例
SELECT *
FROM cypher('graph_name', $$
MATCH p = (a)-[]->(b)-[]->(c)
WHERE a.name = 'Alice'
RETURN length(p)
$$) as (length_of_path agtype);パスpの長さを返します。
length_of_path
----------------
2
2
2
(3 rows)size
size() はリストの長さを返します。
構文
size(list)戻り値
agtype整数。
Parameters
パラメーター | 説明 |
list | リストを返す式。 |
使用上の注意
size(null) はnullを返します。
例
SELECT *
FROM cypher('graph_name', $$
RETURN size(['Alice', 'Bob'])
$$) as (size_of_list agtype);パスpの長さを返します。
size_of_list
--------------
2
(1 row)startNode
startNode() は、エッジの開始ノードを返します。
構文
startNode(edge)戻り値
頂点。
Parameters
パラメーター | 説明 |
edge | エッジを返す式。 |
使用上の注意
startNode(null) はnullを返します。
例
SELECT *
FROM cypher('graph_name', $$
MATCH (x:Developer)-[r]-()
RETURN startNode(r)
$$) as (v agtype);サンプル結果:
v
--------------------------------------------
Node[0]{name:"Alice",age:38,eyes:"brown"}
Node[0]{name:"Alice",age:38,eyes:"brown"}
(2 rows)endNode
endNode() は、エッジの終了ノードを返します。
構文
endNode(edge)戻り値
頂点。
Parameters
パラメーター | 説明 |
edge | エッジを返す式。 |
使用上の注意
endNode(null) はnullを返します。
例
SELECT *
FROM cypher('graph_name', $$
MATCH (x:Developer)-[r]-()
RETURN endNode(r)
$$) as (v agtype);サンプル結果:
v
--------------------------------------------
Node[2]{name:"Charlie",age:53,eyes:"green"}
Node[1]{name:"Bob",age:25,eyes:"blue"}
(2 rows)timestamp
timestamp() は、現在の時刻とUTC 1970 1月1日の深夜との差をミリ秒単位で返します。
構文
timestamp()戻り値
agtype整数。
使用上の注意
timestamp() は、実行時間の長いクエリでも、1つのクエリ全体で同じ値を返します。
例
SELECT *
FROM cypher('graph_name', $$
RETURN timestamp()
$$) as (t agtype);サンプル結果:
t
---------------
1613496720760
(1 row)toBoolean
toBoolean() は、文字列値をブール値に変換します。
構文
toBoolean(expression)戻り値
agtypeブール値。
Parameters
パラメーター | 説明 |
expression | ブール値または文字列値を返す式。 |
使用上の注意
toBoolean(null)はnullを返します。式がブール値の場合は、変更されずに返されます。
解析が失敗した場合、
nullが返されます。
例
SELECT *
FROM cypher('graph_name', $$
RETURN toBoolean('TRUE'), toBoolean('not a boolean')
$$) as (a_bool agtype, not_a_bool agtype);サンプル結果:
a_bool | not_a_bool
--------+------------
true |
(1 row)toFloat
toFloat() は、整数または文字列の値を浮動小数点数に変換します。
構文
toFloat(expression)戻り値
浮動小数点数。
Parameters
パラメーター | 説明 |
expression | agtype番号またはagtype文字列値を返す式。 |
使用上の注意
toFloat(null)はnullを返します。式が浮動小数点数の場合は、変更されずに返されます。
解析が失敗した場合、
nullが返されます。
例
SELECT *
FROM cypher('graph_name', $$
RETURN toFloat('11.5'), toFloat('not a number')
$$) as (a_float agtype, not_a_float agtype);サンプル結果:
a_float | not_a_float
---------+-------------
11.5 |
(1 row)toInteger
toInteger() は、浮動小数点数または文字列値を整数値に変換します。
構文
toInteger(expression)戻り値
agtype整数。
Parameters
パラメーター | 説明 |
expression | agtype番号またはagtype文字列値を返す式。 |
使用上の注意
toInteger(null)はnullを返します。式が整数値の場合は、変更されずに返されます。
解析が失敗した場合、
nullが返されます。
例
SELECT *
FROM cypher('graph_name', $$
RETURN toInteger('42'), toInteger('not a number')
$$) as (an_integer agtype, not_an_integer agtype);サンプル結果:
an_integer | not_an_integer
------------+----------------
42 |
(1 row)合体
coalesce() は、指定された式のリストの最初のnull以外の値を返します。
構文
coalesce(expression [, expression]*)戻り値
返される値の型は、最初のnull以外の式の型です。
Parameters
パラメーター | 説明 |
expression | nullを返す可能性のある式。 |
使用上の注意
すべてのパラメーターがnullの場合は、nullが返されます。
例
SELECT *
FROM cypher('graph_name', $$
MATCH (a)
WHERE a.name = 'Alice'
RETURN coalesce(a.hairColor, a.eyes), a.hair_color, a.eyes
$$) as (color agtype, hair_color agtype, eyes agtype);サンプル結果:
color | hair_color | eyes
---------+------------+---------
"brown" | | "Brown"
(1 row)