标签表达式¶
标签表达式可以引用图元素的标签。
标签表达式通常用在标签谓词中或者图模式中,根据标签过滤图元素。更多信息,请参见标签谓词和图模式。
语法¶
- label_expression
- label_factor
label_expression ::=
(label_factor ( '&' label_factor )* ) ( '|' (label_factor ( '&' label_factor )*) )*
label_factor ::=
label_name
| '%'
| '(' label_expression ')'
| '!' label_name
| '!' '%'
| '!' '(' label_expression ')'
参数¶
label_name¶
标签名称。
%¶
匹配任意标签的通配符。
!¶
逻辑非运算符,表示排除一个标签。
&¶
逻辑与运算符,表示两个标签因子(label_factor)的交集。
|¶
逻辑或运算符,表示两个标签因子(label_factor)的并集。
示例¶
以下示例基于示例数据集。
引用一个标签¶
'''
USE movie
MATCH (v)-[e]->()
WHERE v IS LABELED Person
RETURN DISTINCT v.name AS name
LIMIT 5
'''
上述语句选择了标签为Person的点,并返回点的名称。
返回:
+---------------+
| name |
+---------------+
| null |
| Jürgen Tonkel |
| Frank Harper |
| James Doohan |
| Fana Mokoena |
+---------------+
引用任意标签¶
'''
USE movie
MATCH (v:%)-[e]->()
RETURN DISTINCT v.name AS name
LIMIT 5
'''
上述语句选择了带有任意标签的点,并返回点的名称。
返回:
+------------------------+
| name |
+------------------------+
| Marco Kreuzpaintner |
| Curt Siodmak |
| David Lynch |
| Billy Wilder |
| Star Trek: Generations |
+------------------------+
排除一个标签¶
'''
USE movie
MATCH (v)-[e:!Act]->()
RETURN DISTINCT e
LIMIT 2
'''
上述语句选择了不带有标签Act的边,并返回边的信息。
返回:
+----------------------------------------------------------------------+
| e |
+----------------------------------------------------------------------+
| (289047300406247427)-[0@Watch:Watch{rate:4.0}]->(289108623949299713) |
| (289047300406247427)-[0@Watch:Watch{rate:1.0}]->(289138379482726401) |
+----------------------------------------------------------------------+
使用运算符&引用标签¶
'''
USE movie
MATCH (v WHERE v IS LABELED Person&Movie)-[e]->()
RETURN DISTINCT v.name AS name
LIMIT 5
'''
上述语句选择了同时带有标签Person和Movie的点,并返回点的名称。
返回:
+------+
| name |
+------+
+------+
使用运算符|引用标签¶
'''
USE movie
MATCH (v)-[e]->()
WHERE v IS LABELED Person|Movie
RETURN DISTINCT v.name AS name
LIMIT 5
'''
上述语句选择了带有标签Person或Movie的点,并返回点的名称。
返回:
+-------------------------------------+
| name |
+-------------------------------------+
| Green Mile |
| Willy Wonka & the Chocolate Factory |
| Zatoichi |
| The Blue Angel |
| Sissi – The Young Empress |
+-------------------------------------+