知识图谱(Knowledge Graph)- Neo4j 5.10.0 使用 - CQL - 太极拳传承谱系表
删除数据库中以往的图
MATCH (n) DETACH DELETE n
创建节点
CREATE命令语法
Neo4j CQL“CREATE”命令用于创建没有属性的节点。 它只是创建一个没有任何数据的节点。
CREATE (
<node-name>:<label-name>
{
<Property1-name>:<Property1-Value>
........
<Propertyn-name>:<Propertyn-Value>
}
)
语法元素 | 描述 |
---|---|
<node-name> | 它是我们将要创建的节点名称,创建关系时使用到,注意命名 |
<label-name> | 它是一个节点标签名称 |
<Property1-name>...<Propertyn-name> | 属性是键值对。 定义将分配给创建节点的属性的名称 |
<Property1-value>...<Propertyn-value> | 属性是键值对。 定义将分配给创建节点的属性的值 |
1、Neo4j数据库服务器使用此将此节点详细信息存储在Database.As中作为Neo4j DBA或Developer,我们不能使用它来访问节点详细信息。
2、Neo4j数据库服务器创建一个作为内部节点名称的别名。作为Neo4j DBA或Developer,我们应该使用此标签名称来访问节点详细信息。
# 注意node-name不要重复
CREATE (cwt:Person { name:"陈王廷",generation:"创始人"})
CREATE (jf:Person { name:"蒋发",generation:"第二代"})
CREATE (sl:Person { name:"所乐",generation:"第二代"})
CREATE (rx:Person { name:"汝信",generation:"第二代"})
CREATE (zr:Person { name:"正如",generation:"第三代"})
CREATE (xr:Person { name:"恂如",generation:"第三代"})
CREATE (sr:Person { name:"申如",generation:"第三代"})
CREATE (dp:Person { name:"大鹏",generation:"第三代"})
CREATE (dk:Person { name:"大鹍",generation:"第三代"})
CREATE (jx:Person { name:"继夏",generation:"第四代"})
CREATE (jb:Person { name:"敬伯",generation:"第四代"})
CREATE (jue:Person { name:"爵",generation:"第四代"})
CREATE (zs:Person { name:"善志",generation:"第四代"})
CREATE (st:Person { name:"善通",generation:"第四代"})
CREATE (dx:Person { name:"大兴",generation:"第五代"})
CREATE (yz:Person { name:"耀兆",generation:"第五代"})
CREATE (gz:Person { name:"公兆",generation:"第五代"})
CREATE (bw:Person { name:"秉旺",generation:"第五代"})
CREATE (br:Person { name:"秉壬",generation:"第五代"})
CREATE (bq:Person { name:"秉奇",generation:"第五代"})
CREATE (ccx:Person { name:"陈长兴",generation:"第六代"})
CREATE (yb:Person { name:"有本",generation:"第六代"})
CREATE (yh:Person { name:"有恒",generation:"第六代"})
CREATE (ylc:Person { name:"杨露禅",generation:"第七代"})
CREATE (gy:Person { name:"耕耘",generation:"第七代"})
CREATE (ybh:Person { name:"杨班候",generation:"第八代"})
CREATE (yx:Person { name:"延熙",generation:"第八代"})
CREATE (yn:Person { name:"延年",generation:"第八代"})
CREATE (cfk:Person { name:"陈发科",generation:"第九代"})
CREATE (wy:Person { name:"王雁",generation:"第九代"})
CREATE (cbz:Person { name:"陈宝璩",generation:"第九代"})
CREATE (wep:Person { name:"王二平",generation:"第九代"})
CREATE (wfl:Person { name:"王福礼",generation:"第十代"})
CREATE (zlh:Person { name:"朱老虎",generation:"第十代"})
CREATE (wcj:Person { name:"王长江",generation:"第十代"})
CREATE (cez:Person { name:"曹二柱",generation:"第十代"})
CREATE (zl:Person { name:"朱路",generation:"第十一代"})
CREATE (zf:Person { name:"朱峰",generation:"第十一代"})
CREATE (zc:Person { name:"朱超",generation:"第十一代"})
CREATE (zbl:Person { name:"朱堡垒",generation:"第十一代"})
CREATE (zzl:Person { name:"张中林",generation:"第十一代"})
查询节点
MATCH命令
MATCH
(
<node-name>:<label-name>
)
注意事项
- Neo4j 数据库服务器使用此 将此节点详细信息存储在 Database.As 中作为 Neo4j DBA 或 Developer,我们不能使用它来访问节点详细信息。
- Neo4j 数据库服务器创建一个 作为内部节点名称的别名。作为 Neo4j DBA 或 Developer,我们应该使用此标签名称来访问节点详细信息。
# 查询Dept下的内容
MATCH (dept:Dept) return dept
# 查询Employee标签下 id=123,name="Lokesh"的节点
MATCH (p:Employee {id:123,name:"Lokesh"}) RETURN p
## 查询Employee标签下name="Lokesh"的节点,使用(where命令)
MATCH (p:Employee)
WHERE p.name = "Lokesh"
RETURN p
MATCH & RETURN匹配和返回
MATCH (n:Person {name:"陈长兴"}) RETURN n
MATCH (n:Person {name:"陈长兴"}) RETURN n.generation
创建关系
根据属性图模型,关系应该是定向的。 否则,Neo4j将抛出一个错误消息。
基于方向性,Neo4j关系被分为两种主要类型。
- 单向关系
- 双向关系
在以下场景中,我们可以使用Neo4j CQL CREATE命令来创建两个节点之间的关系。 这些情况适用于Uni和双向关系。
- 在两个现有节点之间创建无属性的关系
- 在两个现有节点之间创建有属性的关系
- 在两个新节点之间创建无属性的关系
- 在两个新节点之间创建有属性的关系
- 在具有WHERE子句的两个退出节点之间创建/不使用属性的关系
CREATE (m:Movie:Cinema:Film:Picture)
新节点无属性关系
CREATE (<node1-name>:<label1-name>)-
[<relationship-name>:<relationship-label-name>]
->(<node2-name>:<label2-name>)
# <node1-name> <节点1名> 它是From节点的名称。
# <node2-name> <节点2名> 它是To节点的名称。
# <label1-name> <LABEL1名称> 它是From节点的标签名称
# <label2-name> <LABEL2名称> 它是To节点的标签名称。
# <relationship-name> <关系名称> 它是一个关系的名称。
# <relationship-label-name> <相关标签名称> 它是一个关系的标签名称。
太极拳传承谱系表
使用新节点创建关系
创建第N代传承人
# 创建辈份
CREATE (FirstGeneration:Hierarchy {title:'陈氏太极创始人'})
# 创建关系
CREATE
(cwt)-[:BELONG_TO]->(FirstGeneration)
# 创建辈份
CREATE (SecondGeneration:Hierarchy {title:'第二代传承人'})
# 创建关系
CREATE
(jf)-[:BELONG_TO]->(SecondGeneration),
(sl)-[:BELONG_TO]->(SecondGeneration),
(rx)-[:BELONG_TO]->(SecondGeneration)
创建传承人之间的师徒关系
使用现有节点创建关系
# 查询已有节点
MATCH (cwt:Person),(jf:Person),(sl:Person),(rx:Person)
# 建立节点关系
CREATE
(jf)-[:APPRENTICE]->(cwt),
(sl)-[:APPRENTICE]->(cwt),
(rx)-[:APPRENTICE]->(cwt)
# 创建关系
MATCH (rx:Person),(dp:Person),(dk:Person)
CREATE
(dp)-[:APPRENTICE]->(rx),
(dk)-[:APPRENTICE]->(rx)
MATCH (dp:Person),(dk:Person),(zs:Person),(bw:Person),(br:Person)
CREATE
(zs)-[:APPRENTICE]->(dp),
(bw)-[:APPRENTICE]->(zs),
(br)-[:APPRENTICE]->(zs)
姓:surname 或者 family name或者 last name
名:first name 或者 forename 或者 given name
字:style name,有时也作courtesy name
号:pseudonym,有时也做(hao)
人称:一般可以翻译成 nicknames
谥号:posthumous title
https://www.w3cschool.cn/neo4j/neo4j_cql_create_node.html
知识图谱(Knowledge Graph)- Neo4j 5.10.0 使用 - CQL - 太极拳传承谱系表的更多相关文章
- 哈工大知识图谱(Knowledge Graph)课程概述
一.什么是知识图谱 知识(Knowledge)可以理解为 精炼的数据,知识图谱(Knowledge Graph)即是对知识的图形化表示,本质上是一种大规模语义网络 (semantic network) ...
- 学习笔记之知识图谱 (Knowledge Graph)
Knowledge Graph - Wikipedia https://en.wikipedia.org/wiki/Knowledge_Graph The Knowledge Graph is a k ...
- 百度大脑UNIT3.0详解之知识图谱与对话
如今,越来越多的企业想要在电商客服.法律顾问等领域做一套包含行业知识的智能对话系统,而行业或领域知识的积累.构建.抽取等工作对于企业来说是个不小的难题,百度大脑UNIT3.0推出「我的知识」版块专门为 ...
- PostgreSQL 10.0 preview 性能增强 - 分区表性能增强(plan阶段加速)
标签 PostgreSQL , 10.0 , 分区表 , 子表 , 元信息搜索性能增强 背景 PostgreSQL 10.0 增强了分区表的子表搜索性能,对于涉及分区表包含子表特别多的QUERY,可以 ...
- 1. 通俗易懂解释知识图谱(Knowledge Graph)
1. 通俗易懂解释知识图谱(Knowledge Graph) 2. 知识图谱-命名实体识别(NER)详解 3. 哈工大LTP解析 1. 前言 从一开始的Google搜索,到现在的聊天机器人.大数据风控 ...
- Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation(知识图谱)
知识图谱(Knowledge Graph,KG)可以理解成一个知识库,用来存储实体与实体之间的关系.知识图谱可以为机器学习算法提供更多的信息,帮助模型更好地完成任务. 在推荐算法中融入电影的知识图谱, ...
- TIE: A Framework for Embedding-based Incremental Temporal Knowledge Graph Completion 增量时序知识图谱补全论文解读
论文网址:https://dl.acm.org/doi/10.1145/3404835.3462961 论文提出一种用增量学习思想做时序知识图谱补全(Temporal Knowledge Graph ...
- springboot2.0+Neo4j+d3.js构建知识图谱
Welcome to the Neo4j wiki! 初衷这是一个知识图谱构建工具,最开始是对产品和领导为了做ppt临时要求配合做图谱展示的不厌其烦,做着做着就抽出一个目前看着还算通用的小工具 技术栈 ...
- 使用图数据库 Nebula Graph 数据导入快速体验知识图谱 OwnThink
前言 本文由 Nebula Graph 实习生@王杰贡献. 最近 @Yener 开源了史上最大规模的中文知识图谱--OwnThink(链接:https://github.com/ownthink/Kn ...
- 使用图数据库 Nebula Graph 数据导入快速体验知识图谱
本文由 Nebula Graph 实习生@王杰贡献. 最近 @Yener 开源了史上最大规模的中文知识图谱——OwnThink(链接:https://github.com/ownthink/Knowl ...
随机推荐
- 【GiraKoo】Java Native Interface(JNI)的空间(引用)管理
Java Native Interface(JNI)的空间(引用)管理 Java是通过垃圾回收机制回收内存,C/C++是通过malloc,free,new,delete手动管理空间.那么在JNI层,同 ...
- CF1825C LuoTianyi and the Show
传送门(luogu) 传送门(CF) 前言 我来水题解力 简化题意 \(n\) 个人,\(m\) 个座位,每个人落座的方法有三种: 坐最左边的人的左边,没人的话就做 \(m\) 号座位,若最左边的为 ...
- Redis - 二进制位数组
简介 Redis 使用字符串对象来表示位数组,因为字符串对象使用的 SDS 数据结构是二进制安全的,所以程序可以直接使用 SDS 结构来保存位数组,并使用 SDS 结构的操作函数来处理位数组. 在 S ...
- centOS 7 添加删除用户和用户组
1.添加新用户 由于日常使用时root用户权限过大,所以添加一个用户供日常使用,或者供他人使用. 1 新增用户 adduser [用户名] [root@centos ~]# adduser dex 2 ...
- Vue_Django 登录注册+图书管理系统
Vue前端 注册页面 点击查看代码 <template> <div class="register"> <el-row :gutter="2 ...
- flutter系列之:做一个图像滤镜
目录 简介 我们的目标 带滤镜的图片 打造filter按钮 打造可滑动按钮 最后要解决的问题 简介 很多时候,我们需要一些特效功能,比如给图片做个滤镜什么的,如果是h5页面,那么我们可以很容易的通过c ...
- celery笔记五之消息队列的介绍
本文首发于公众号:Hunter后端 原文链接:celery笔记五之消息队列的介绍 前面我们介绍过 task 的处理方式,将 task 发送到队列 queue,然后 worker 从 queue 中一个 ...
- 也谈Python编码格式
python在升级到Python3之后,因为Utf-8作为没有歧义的统一标准编码,相信很少人再会碰到编码格式的问题,但现实总会不停地打脸理想,告诉我们Too Young Too Simple.先不扯闲 ...
- DLang 与 C 语言交互
DLang 与 C 语言交互 很难受的是,这部分的文档太少了,根本没有 教程向 的文章.所以我写了此文以做分享. 本文原址链接(防止机器搬运):https://www.cnblogs.com/jeef ...
- 【java-Err】 Generating equals/hashCode implementation but without a call to superclass,
@EqualsAndHashCode 默认不继承父类 修复此问题的方法很简单: 1. 使用@Getter @Setter @ToString代替@Data并且自定义equals(Object ot ...