如何在Neo4j的查询结果中返回节点类或类型
我有一个节点类型如何在Neo4j的查询结果中返回节点类或类型,neo4j,Neo4j,我有一个节点类型Author,它通过关系类型writed链接到节点类型Book和Magazine。我需要在一个查询中找到某个作者写的所有书籍和杂志,在查询结果中,我希望能够区分书籍和杂志的结果 实现这一点的一种方法是为书籍和杂志定义单独的关系,并在结果中返回类型(关系)值,以匹配书籍和杂志的结果 MATCH (a:Author)-[r]->(i) WHERE TYPE(r) = 'WROTE_BOOK' OR TYPE(r) = 'WROTE_MAGAZINE' RETURN TYPE(
Author
,它通过关系类型writed
链接到节点类型Book
和Magazine
。我需要在一个查询中找到某个作者写的所有书籍和杂志,在查询结果中,我希望能够区分书籍和杂志的结果
实现这一点的一种方法是为书籍和杂志定义单独的关系,并在结果中返回类型(关系)
值,以匹配书籍和杂志的结果
MATCH (a:Author)-[r]->(i) WHERE TYPE(r) = 'WROTE_BOOK' OR TYPE(r) = 'WROTE_MAGAZINE'
RETURN TYPE(r), i
但是,我希望能够做到这一点,而不必为我的客户建立单独的关系。有没有办法在查询结果中查询节点类型或类?在上面的示例中,如下所示:
MATCH (a:Author)-[:WROTE]->(i) WHERE TYPE(i) = 'Book' OR TYPE(i) = 'MAGAZINE'
RETURN TYPE(i), i
似乎
TYPE()
函数仅适用于关系,而不适用于节点。提前谢谢你的帮助 类型用于关系,标签用于节点
MATCH (a:Author)-[:WROTE]->(i) WHERE labels(i) in ['Book','MAGAZINE']
RETURN labels(i), i
如果作者只写杂志和书籍,则不需要WHERE
过滤器
MATCH (a:Author)-[:WROTE]->(i)
RETURN labels(i), i
类型用于关系,标签用于节点
MATCH (a:Author)-[:WROTE]->(i) WHERE labels(i) in ['Book','MAGAZINE']
RETURN labels(i), i
如果作者只写杂志和书籍,则不需要WHERE
过滤器
MATCH (a:Author)-[:WROTE]->(i)
RETURN labels(i), i
谢谢@Tomaz!很好用!谢谢@Tomaz!很好用!