服务外包杯准备-neo4j的学习

由于服务外包杯运用到了一些智能图谱的构建,近期打算开始运用甲方的数据来构建知识图谱,这里的图谱的构建需要一些neo4j的应用,用我的话来简单的说一下neo4j,这是一种比mysql多了一种“关系”的数据库,不同的节点之间,可以添加关系,基于此,neo4j有一种cycher的脚本语言(就像mysql中的sql语句),为此,我通过chatgpt了解了一些cypher的基本运用方式。如下:

1 创建节点和关系

// 创建节点
CREATE (n:Person {name: 'Alice', age: 30})

// 创建关系
MATCH (a:Person), (b:Person)
WHERE a.name = 'Alice' AND b.name = 'Bob'
CREATE (a)-[r:KNOWS]->(b)

2 查询节点和关系

// 查询所有节点和关系
MATCH (n)
RETURN n

// 查询特定节点及其关系
MATCH (n:Person {name: 'Alice'})-[r]->(m)
RETURN n, r, m

3 过滤查询结果

// 使用WHERE子句过滤查询结果
MATCH (n:Person)
WHERE n.age > 25
RETURN n

4 模式匹配

// 匹配指定的节点和关系模式
MATCH (a:Person)-[:KNOWS]->(b:Person)
RETURN a, b

5 更新节点和关系

// 更新节点属性
MATCH (n:Person {name: 'Alice'})
SET n.age = 31

// 删除关系
MATCH (a:Person)-[r:KNOWS]->(b:Person)
DELETE r

 

6 聚合函数和排序

// 使用聚合函数计算节点数量
MATCH (n:Person)
RETURN COUNT(n) AS numberOfPeople

// 对查询结果排序
MATCH (n:Person)
RETURN n
ORDER BY n.age DESC

7 使用逻辑操作符

// 使用逻辑操作符AND、OR、NOT等
MATCH (n:Person)
WHERE n.age > 25 AND NOT n.name = 'Bob'
RETURN n

8 删除节点和关系

// 删除指定节点及其关系
MATCH (n:Person {name: 'Alice'})
DETACH DELETE n

 

posted @ 2024-03-18 23:20  杳无音讯  阅读(19)  评论(0编辑  收藏  举报