跳转至
开发版采用单机部署,无需产品 License 文件。需要多机部署或大规模性能测试? 了解企业版

系统信息函数

本文描述悦数图数据库开发版中的系统信息函数用法,适用于持久图和临时图。

本文介绍用于返回系统信息的函数。

typeof()

返回输入值的类型。

NULL 行为:通用

函数签名

typeof(input: E) -> STRING

E代表任意值类型,包括普通值类型、图元素引用类型和表类型。

示例

获取预定义数据类型

'''
RETURN typeof(1) AS a, 
    typeof("hello") AS b, 
    typeof(null) AS c, 
    typeof(true) AS d, 
    typeof(CAST(1.5 AS UINT64)) AS e, 
    typeof(zoned_datetime("2011-03-04T11:06:08Z")) AS f, 
    typeof(duration({years:100, months:1}) ) AS g,
    typeof(VECTOR<3,float>([1.1,2.1,3.1])) AS h
'''    

返回:

+-------+--------+------+------+--------+---------------+----------+------------------+
| a     | b      | c    | d    | e      | f             | g        | h                |
+-------+--------+------+------+--------+---------------+----------+------------------+
| INT32 | STRING | NULL | BOOL | UINT64 | ZONEDDATETIME | DURATION | VECTOR<3, FLOAT> |
+-------+--------+------+------+--------+---------------+----------+------------------+

获取复合数据类型

'''
RETURN typeof([1,2,3]) AS a, 
    typeof({a:1, b:true}) AS b,
    typeof(SET {"a", "b", "c"}) AS c, 
    typeof(MAP{"a":1, "b":2}) AS d
'''    

返回:

+-------------+-------------------------+-------------+--------------------+
| a           | b                       | c           | d                  |
+-------------+-------------------------+-------------+--------------------+
| LIST<INT32> | RECORD{a INT32, b BOOL} | SET<STRING> | MAP<STRING, INT32> |
+-------------+-------------------------+-------------+--------------------+

获取图元素引用值的类型

'''
USE movie
MATCH p = (a@Actor)-[e]->(b@Movie)
RETURN typeof(p) AS p_type, typeof(a) AS a_type, typeof(e) AS e_type 
LIMIT 1
'''

返回:

+--------+---------------+------------------------------+
| p_type | a_type        | e_type                       |
+--------+---------------+------------------------------+
| PATH   | Node<(Actor)> | Edge<(Actor)-[Act]->(Movie)> |
+--------+---------------+------------------------------+

获取表类型

'''
TABLE t TYPED TABLE { id INT64, name STRING } =  
    { id: 10001, name: 'Alice' },  
    { id: 10002, name: 'Bob' }
RETURN typeof(t) AS t_type
'''

返回:

+-------------------------------+
| t_type                        |
+-------------------------------+
| TABLE {id INT64, name STRING} |
+-------------------------------+