💡 本次将使用 LLM 大模型将「白雪公主的故事」转为图数据存储于 neo4j 数据库中,并展示图数据部分的效果

故事内容

很久很久以前,在一个遥远的王国里,有一位美丽的**王后**生下了一个皮肤像雪一样白皙、嘴唇像血一样鲜红的**女儿**。王后给她取名为“**白雪公主**”。不幸的是,王后不久就去世了。
**国王**娶了一位**新王后**,这位新王后非常美丽,但她的心却十分恶毒。她有一面**魔镜**,每天都会问:“魔镜魔镜告诉我,**谁是这个世界上最美的女人**?”魔镜总是回答说:“是你,我的王后。”
然而有一天,魔镜的回答变了:“王后啊,你是这城堡里最美的女人,但在森林里,白雪公主比你还要美。”新王后听后非常生气,她命令一位**猎人**把白雪公主带到森林里杀死,并带回她的肺和肝作为证据。
猎人把白雪公主带到了森林深处,但他不忍心杀害这么善良的女孩,于是放走了她,并带回了一只小鹿的肺和肝欺骗了王后。
白雪公主在森林里迷路了,她遇到了七个**小矮人**。他们住在一座小木屋里。白雪公主告诉了他们自己的遭遇,小矮人们决定保护她。他们教她如何打扫屋子、做饭,白雪公主也很快乐地和他们一起生活。
新王后得知白雪公主还活着,便三次试图用毒苹果、毒梳子和紧身衣来害死她。但每一次都被小矮人们救了下来。最后,王后自己变成了一个老妇人,带着一个毒苹果再次来到了森林里。这一次,白雪公主吃下了毒苹果,陷入了沉睡。
小矮人们非常伤心,但他们无法唤醒白雪公主。他们做了一个透明的水晶棺材,将白雪公主安放在里面,并日夜守护着她。
一天,一位英俊的**王子**路过森林,看到了沉睡中的白雪公主。他被她的美丽所吸引,吻醒了她。毒苹果的咒语被解除了,白雪公主醒了过来。
王子和白雪公主**相爱**了,他们举行了一场盛大的婚礼,并邀请了所有的朋友,包括七个小矮人。新王后也被邀请了,但她非常嫉妒,最终受到了应有的惩罚。
从此以后,白雪公主和王子过上了幸福快乐的生活。

基于「通义灵码」完成知识图谱的转换

转为图数据库


text2Cypher

💡 Cypher 是图数据的查询或创建语句
CREATE (bq:Person {name: "美丽的王后"})
CREATE (bp:Person {name: "白雪公主"})
CREATE (king:Person {name: "国王"})
CREATE (nwq:Person {name: "新王后"})
CREATE (hunter:Person {name: "猎人"})
CREATE (dwarfs:Person {name: "七个小矮人"})
CREATE (prince:Person {name: "英俊的王子"})
CREATE (mirror:Object {name: "魔镜"})
CREATE (forest:Place {name: "森林"})
CREATE (cottage:Place {name: "小木屋"})
CREATE (poisonApple:Object {name: "毒苹果"})
CREATE (poisonComb:Object {name: "毒梳子"})
CREATE (tightCorset:Object {name: "紧身衣"})
CREATE (crystalCoffin:Object {name: "水晶棺材"})

// 王后生下了白雪公主
CREATE (bq)-[:BIRTH {date: "很久很久以前"}]->(bp)
// 国王娶了新王后
CREATE (king)-[:MARRIED]->(nwq)
// 新王后每天询问魔镜
CREATE (nwq)-[:ASKS {daily: true}]->(mirror)
// 魔镜回答新王后的问题
CREATE (mirror)-[:ANSWERS]->(nwq)
// 新王后命令猎人杀死白雪公主
CREATE (nwq)-[:COMMANDS]->(hunter)
// 猎人欺骗了新王后
CREATE (hunter)-[:DECEIVED]->(nwq)
// 白雪公主遇到七个小矮人
CREATE (bp)-[:MEETS]->(dwarfs)
// 七个小矮人保护白雪公主
CREATE (dwarfs)-[:PROTECTS]->(bp)
// 白雪公主与七个小矮人一起生活
CREATE (bp)-[:LIVES_WITH]->(dwarfs)
// 新王后试图用各种方法杀死白雪公主
// 毒苹果
CREATE (nwq)-[:TRIES_TO_KILL]->(poisonApple)
// 毒梳子
CREATE (nwq)-[:TRIES_TO_KILL]->(poisonComb)
// 紧身衣
CREATE (nwq)-[:TRIES_TO_KILL]->(tightCorset)
// 英俊的王子吻醒了白雪公主
CREATE (prince)-[:KISSED]->(bp)
// 白雪公主与英俊的王子相爱
CREATE (bp)-[:LOVES]->(prince)
CREATE (prince)-[:LOVES]->(bp)
// 白雪公主与英俊的王子结婚
CREATE (bp)-[:MARRIED]->(prince)
// 新王后自我惩罚
CREATE (nwq)-[:PUNISHED]->(nwq)
// 白雪公主在森林里
CREATE (bp)-[:IN]->(forest)
// 七个小矮人在小木屋里
CREATE (dwarfs)-[:IN]->(cottage)
// 白雪公主被安置在水晶棺材里
CREATE (bp)-[:PLACED_IN]->(crystalCoffin)

neo4j browers 运行 Cypher 语句

查看不同标签的节点

查看不同关系的图数据

基于本地化 LLM 大模型转为知识图谱

关于代码实现可以查看往期内容

基于 LangChain 从文章到图数据库的转换

查看转换后的关系

MATCH p=()-->() RETURN p 

查看标签的节点

人物标签

MATCH (n:Person) RETURN n 

持续时间及位置标签

MATCH (n:Duration) RETURN n
MATCH (n:Location) RETURN n

总结

通过在线与离线 LLM 大模型将文章转换为图,以一个耳熟能详的方式对图数据有一个初步体验。


↙↙↙阅读原文可查看相关链接,并与作者交流