# neo4jproject **Repository Path**: zhang_renyang/neo4jproject ## Basic Information - **Project Name**: neo4jproject - **Description**: neo4jproject - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-25 - **Last Updated**: 2025-07-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README CREATE (a:User {name:'张三'}); CREATE (b:User {name:'李四'}); CREATE (b:User {name:'王五'}); CREATE (b:User {name:'赵六'}); MATCH (a1:User {name:'张三'}) MATCH (b1:User {name:'李四'}) CREATE (a1)-[:FRIEND]->(b1); MATCH (a)-[:FRIEND]->(b) RETURN a,b MATCH (a) DETACH DELETE a MERGE (a:User {name:'张三'})-[:FRIEND]->(b:User {name:'李四'}); //创建一个图投影,包含所有的user节点和friend关系 CALL gds.graph.project( 'myGraph', 'User', 'FRIEND' ) //在myGraph图上执行pageRank算法,计算每个节点的影响力的分数 CALL gds.pageRank.stream("myGraph") YIELD nodeId,score RETURN gds.util.asNode(nodeId).name AS 用户,score ORDER BY score DESC LIMIT 5 CALL gds.graph.drop('myGraph') ## 如何查找两个节点间的最小路径 MATCH (a:User {name:"张三"}),(b:User {name:"王五"}) CALL apoc.algo.dijkstra(a,b,'FRIEND','weight') YIELD path,weight RETURN path,weight # collect 聚合为列表 MATCH (u:User)-[:FRIEND]->(f:User) RETURN u.name,collect(f.name) as 朋友列表 // 查询名为'张三'的User节点 MATCH (a:User {name: '张三'}) // 查询名为'李四'的User节点 MATCH (b:User {name: '李四'}) // 创建a到b之间的FRIEND关系 CREATE (a)-[:FRIEND]->(b) // 查询名为'张三'的User节点 MATCH (a:User {name: '张三'}) // 查询名为'李四'的User节点 MATCH (b:User {name: '王五'}) // 创建a到b之间的FRIEND关系 CREATE (a)-[:FRIEND]->(b) WITH ['张三','李四','王五'] as names UNWIND names as name RETURN name # 统计每个用户的朋友数量 MATCH (u:User)-[:FRIEND]->(f:User) RETURN u.name,size(collect(f)) AS 朋友数 CREATE (b:Book {name:'活着'}); CREATE (b:Book {name:'张三'}); // 查询朋友数大于1的用户 MATCH (u:User)-[:FRIEND]->(f:User) WITH u, count(f) AS 朋友数 WHERE 朋友数 > 1 RETURN u.name, 朋友数 # 更新和删除 MATCH (p:User {name:'张三'}) SET p.age = 40,p.city='北京',p.email='zs@qq.com' RETURN p # 如果此节点有关系,则不能删除 MATCH (p:User {name:'张三'}) DELETE p # 先删除张三的关系 MATCH (a:User {name:'张三'})-[r:FRIEND]-(b:User {name:'李四'}) DELETE r MATCH (p:User {name:'张三'}) DETACH DELETE p https://static.docs-hub.com/users_1753115663538.csv LOAD CSV WITH HEADERS FROM "https://static.docs-hub.com/users_1753115663538.csv" AS row CREATE (:User {name:row.name,age:toInteger(row.age),city:row.city}) file:///users.csv LOAD CSV WITH HEADERS FROM "file:///users.csv" AS row CREATE (:User {name:row.name,age:toInteger(row.age),city:row.city}) // 解析JSON并创建用户节点 CALL apoc.load.json('https://static.docs-hub.com/data_1753115997917.json') YIELD value UNWIND value.users AS user CREATE (:User {name: user.name, age: user.age})