菜哥学知识图谱(通过“基于医疗知识图谱的问答系统”)(五)(neo4j的Cypher语言)
上接菜哥学知识图谱(通过“基于医疗知识图谱的问答系统”)(四)(代码分析2)
五一比平常还忙…把代码暂时放一放,插播一点Cypher语言。
为将来提高论文的逼格,有必要增加点高大上的图片。比如下面这种:
先运行neo4j:
打开neo4j的网页。
在这里写入Cypher语言:
写入:
match(m{name:'百日咳'})-[n]-(p) return m,n,p
运行,后出现上图。可在图片右上角的下载图标,选第一个导出成png图片。
简单解释一下语句。
match :关键字,查询,类似sql里面的select
()括起来的,是节点;{}括起来的是属性。[]括起来的是关系。语句中间的划线-是格式,节点-关系-节点。这里这个划线-没带箭头,就是关系的方向不做限制。
m:自己起的,代表节点的变量(将查询结果赋值m)。p同m。
n:边的变量。
上面的语句,意思就是:查询(match)节点m-关系n-节点p,其中节点m属性为name:‘百日咳’。然后返回节点m、关系n、节点p。
n、p没有给出任何类型或属性限制,就是查询所有的与m有关系的节点。
可以尝试给关系一个限制,挑选一下关系。在n后面添加类型:
match(m{name:'百日咳'})-[n:acompany_with]-(p) return m,n,p #这个[n:acompany_with]中,:后面的就是类型。
生成结果如下:
把关系n添加了类型限制,类型是acompany_with,并发症。
再加个箭头,做个关系的方向限制。
match(m{name:'百日咳'})-[n:acompany_with]->(p) return m,n,p
结果为:
点击左边的table,可以查看查询出来的节点、关系的属性。
顺便详细说明一下build_medicalgraph.py中用到的一句Cypher语言:
query = "match(p:%s),(q:%s) where p.name='%s'and q.name='%s' create (p)-[rel:%s{name:'%s'}]->(q)" % ( start_node, end_node, p, q, rel_type, rel_name) self.g.run(query)
结合前面说明的,可以看出来:
match(p:%s),(q:%s) #查找节点p和q,类型分别是参数中的start_node, end_node where p.name='%s'and q.name='%s' #限制条件为,节点p的属性中,name=参数中的p。q意思相同。 create (p)-[rel:%s{name:'%s'}]->(q) #建立关系rel,类型为参数中的rel_type,属性为name=参数中的rel_name
后面的参数中:
start_node是起始节点的类型,具体字段如Disease;
end_node是到达节点的类型,具体字段如Food;
p是起始节点的名称,具体字段如‘百日咳’;
q是到达节点的名称,具体字段如‘樱桃番茄’;
rel_type是关系的类型,具体字段如‘do_eat’;
rel_name是关系的名称,具体字段如‘宜吃’。
可查看此关系:
match(m:Disease{name:'百日咳'})-[n:do_eat{name:'宜吃'}]-(p:Food{name:'樱桃番茄'}) return m,n,p
**本节结束
菜哥学知识图谱(通过“基于医疗知识图谱的问答系统”)(六)(代码分析3) **
- 菜哥学知识图谱(通过“基于医疗知识图谱的问答系统”)(七)(知识图谱设计、知识抽取1)
- 菜哥学知识图谱(通过“基于医疗知识图谱的问答系统”)(六)(代码分析3)
- 基于医疗知识图谱的问答系统源码详解
- 基于知识图谱的问答系统(四):向量建模篇
- 基于电影知识图谱的智能问答系统
- 基于知识图谱的问答系统(一)
- 基于知识图谱的问答系统(二): 语义解析
- 基于知识图谱的问答系统(下)
- 基于知识图谱的电影自动问答系统(一)知识的获取与存储
- PaperWeekly 第32期 | 基于知识图谱的问答系统关键技术研究 #01
- 基于知识图谱的电影自动问答系统(一)知识的获取与存储
- 基于知识图谱的电影自动问答系统(二)自动问答实现
- 基于知识图谱的问答系统(三): 信息抽取
- 基于知识图谱的电影自动问答系统(二)自动问答实现
- 知识图谱与问答系统
- 知性会话:基于知识图谱的人机对话系统方法与实践-CSDN公开课-专题视频课程...
- 刘升平 | 基于知识图谱的人机对话系统
- 怎么利用知识图谱构建智能问答系统?
- 怎么利用知识图谱构建智能问答系统?
- 基于交叉注意力机制的知识图谱问答模型