如何通过Cypher与GDS投影仅含关联边的Neo4j内存图?
修改后的Cypher语句
要实现只保留存在入边或出边的Function节点,你可以修改节点查询部分的逻辑,通过WHERE子句筛选出至少有一条CALLS出边或入边的节点:
CALL gds.graph.project.cypher( 'testgraph2', 'MATCH (n:Function) WHERE EXISTS((n)-[:CALLS]->()) OR EXISTS(()-[:CALLS]->(n)) RETURN id(n) AS id', 'MATCH (n:Function)-[r:CALLS]->(m:Function) RETURN id(n) AS source, id(m) AS target')
逻辑说明
EXISTS((n)-[:CALLS]->()):判断节点n是否存在向外的CALLS出边EXISTS(()-[:CALLS]->(n)):判断节点n是否存在向内的CALLS入边- 用
OR连接两个条件,就能筛选出所有有入边或出边的Function节点,排除掉没有任何关联的孤立节点
内容的提问来源于stack exchange,提问作者firemancer
相关产品推荐
相关产品推荐

