Cypher语句查询,去除属性id中 ‘abc’字符串
时间: 2024-03-22 10:41:50 浏览: 52
你好!如果需要在Cypher语句中去除属性id中的特定字符串,可以使用`replace()`函数,具体语句如下:
```
MATCH (n)
SET n.id = replace(n.id, 'abc', '')
```
其中,`n`代表节点,`id`代表节点的id属性,`replace(n.id, 'abc', '')`表示将id属性中的所有`abc`字符串替换为空字符串。在上述语句中,将所有节点的id属性中的`abc`字符串删除。
如果你只需要查询id属性中不包含`abc`字符串的节点,可以使用`WHERE NOT`子句,具体语句如下:
```
MATCH (n)
WHERE NOT n.id CONTAINS 'abc'
RETURN n
```
其中,`n`代表节点,`id`代表节点的id属性,`CONTAINS`表示包含,`NOT n.id CONTAINS 'abc'`表示不包含`abc`字符串的节点。在上述语句中,只返回id属性中不包含`abc`字符串的节点。
希望能够帮助到你。
相关问题
Cypher语句查询,用.切分id属性
你好!如果需要在Cypher语句中使用`.`切分id属性,可以使用`split()`函数,具体语句如下:
```
MATCH (n)
WHERE split(n.id, '.')[0] = 'prefix'
RETURN n
```
其中,`n`代表节点,`id`代表节点的id属性,`split(n.id, '.')[0]`表示将id属性按照`.`进行切分,并返回切分后的第一个元素。在上述语句中,如果节点的id属性以`prefix`开头,则返回该节点。
希望能够帮助到你。
请编写Cypher语句查询所有公司董事长中男性比女性多多少?
在Cypher(图数据库中的查询语言)中,假设我们有一个名为`Company`的节点类型,其中包含`chairperson`属性表示董事长,以及`gender`属性表示性别。为了计算男性董事长的数量比女性多多少,我们可以使用以下查询:
```cypher
MATCH (c:Company {position: 'Chairman'}) WITH c, c.gender
WHERE c.gender = 'Male'
WITH COUNT(c) AS male_count
MATCH (c:Company {position: 'Chairwoman'}) WITH c, c.gender
WITH male_count, COUNT(c) AS female_count
RETURN male_count - female_count AS gender_difference;
```
这个查询做了以下几步操作:
1. 匹配所有职位为"Chairman"的公司董事长(`Chairman`是根据假设命名的,实际可能是其他名称)并计算他们的数量(male_count)。
2. 然后匹配所有职位为"Chairwoman"的公司董事长,并计算她们的数量(female_count)。
3. 最后返回男性董事长数减去女性董事长数的结果,即性别差异。
阅读全文