标签(label)用于表示节点和边的属性,用于语义上进行分类。
多标签表达
多标签之间使用|进行分隔,如下:
(n:Person|Company)
[p:KNOWS|LIKES]数据准备
SELECT create_graph('imdb');
SELECT *
FROM cypher('imdb', $$
CREATE (toby:actor {name: 'Toby Maguire'}),
(willam:director {name: 'Willam Dafoe'}),
(hanks:person {name: 'Tom Hanks'}),
(spiderman:movie {title: 'Spiderman'}),
(toby)-[:acted_in]->(spiderman),
(willam)-[:directed]->(spiderman),
(hanks)-[:likes]->(spiderman)
$$) AS (a agtype);示例
查询标签为
actor或director的人名。SELECT * FROM cypher('imdb', $$ MATCH (a:actor|director) RETURN a.name $$ ) as (name agtype);返回结果如下:
name ---------------- "Toby Maguire" "Willam Dafoe" (2 rows)查询在
directed或acted_in关系中,与电影Spiderman有联系的人。SELECT * FROM cypher('imdb', $$ MATCH (p)-[r:acted_in|directed]->(:movie {title: 'Spiderman'}) RETURN p.name $$ ) as (name agtype);返回结果如下:
name ---------------- "Toby Maguire" "Willam Dafoe" (2 rows)
该文章对您有帮助吗?