news 2026/9/11 14:42:34

Neo4j查询语句写法举例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Neo4j查询语句写法举例

Neo4j查询语句写法举例

# -*- coding: utf-8 -*-frompy2neoimportGraph,Node,Relationship,NodeMatcher#版本说明:Py2neo v4classNeo4j_Handle():graph=Nonematcher=Nonedef__init__(self):print("Neo4j Init ...")defconnectDB(self):self.graph=Graph("bolt: // localhost:7687",username="neo4j",password="zhangzl")self.matcher=NodeMatcher(self.graph)#实体查询,用于命名实体识别:品牌+车系+车型defmatchEntityItem(self,value):answer=self.graph.run("MATCH (entity1) WHERE entity1.name = \""+value+"\" RETURN entity1").data()returnanswer#实体查询defgetEntityRelationbyEntity(self,value):#查询实体:不考虑实体类型,只考虑关系方向answer=self.graph.run("MATCH (entity1) - [rel] -> (entity2) WHERE entity1.name = \""+value+"\" RETURN rel,entity2").data()if(len(answer)==0):#查询实体:不考虑关系方向answer=self.graph.run("MATCH (entity1) - [rel] - (entity2) WHERE entity1.name = \""+value+" \" RETURN rel,entity2").data()print(answer)returnanswer#关系查询:实体1deffindRelationByEntity1(self,entity1):#基于品牌查询answer=self.graph.run("MATCH (n1:Bank {name:\""+entity1+"\"})- [rel] -> (n2) RETURN n1,rel,n2").data()#基于车系查询,注意此处额外的空格if(len(answer)==0):answer=self.graph.run("MATCH (n1:Serise {name:\""+entity1+" \"})- [rel] - (n2) RETURN n1,rel,n2").data()returnanswer#关系查询:实体2deffindRelationByEntity2(self,entity1):#基于品牌answer=self.graph.run("MATCH (n1)<- [rel] - (n2:Bank {name:\""+entity1+"\"}) RETURN n1,rel,n2").data()if(len(answer)==0):#基于车系answer=self.graph.run("MATCH (n1) - [rel] - (n2:Serise {name:\""+entity1+" \"}) RETURN n1,rel,n2").data()returnanswer#关系查询:实体1+关系deffindOtherEntities(self,entity,relation):answer=self.graph.run("MATCH (n1:Bank {name:\""+entity+"\"})- [rel:Subtype {type:\""+relation+"\"}] -> (n2) RETURN n1,rel,n2").data()returnanswer#关系查询:关系+实体2deffindOtherEntities2(self,entity,relation):print("findOtherEntities2==")print(entity,relation)answer=self.graph.run("MATCH (n1)- [rel:RELATION {type:\""+relation+"\"}] -> (n2:Bank {name:\""+entity+"\"}) RETURN n1,rel,n2").data()if(len(answer)==0):answer=self.graph.run("MATCH (n1)- [rel:RELATION {type:\""+relation+"\"}] -> (n2:Serise {name:\""+entity+" \"}) RETURN n1,rel,n2").data()returnanswer#关系查询:实体1+实体2(注意Entity2的空格)deffindRelationByEntities(self,entity1,entity2):#品牌 + 品牌answer=self.graph.run("MATCH (n1:Bank {name:\""+entity1+"\"})- [rel] -> (n2:Bank{name:\""+entity2+" \"}) RETURN n1,rel,n2").data()if(len(answer)==0):#品牌 + 系列answer=self.graph.run("MATCH (n1:Bank {name:\""+entity1+"\"})- [rel] -> (n2:Serise{name:\""+entity2+" \"}) RETURN n1,rel,n2").data()if(len(answer)==0):#系列 + 品牌answer=self.graph.run("MATCH (n1:Serise {name:\""+entity1+"\"})- [rel] -> (n2:Bank{name:\""+entity2+" \"}) RETURN n1,rel,n2").data()if(len(answer)==0):#系列 + 系列answer=self.graph.run("MATCH (n1:Serise {name:\""+entity1+"\"})- [rel] -> (n2:Serise{name:\""+entity2+" \"}) RETURN n1,rel,n2").data()returnanswer#查询数据库中是否有对应的实体-关系匹配softdeffindEntityRelation(self,entity1,relation,entity2):answer=self.graph.run("MATCH (n1:Bank {name:\""+entity1+"\"})- [rel:subbank {type:\""+relation+"\"}] -> (n2:Bank{name:\""+entity2+"\"}) RETURN n1,rel,n2").data()if(len(answer)==0):answer=self.graph.run("MATCH (n1:Bank {name:\""+entity1+"\"})- [rel:subbank {type:\""+relation+"\"}] -> (n2:Serise{name:\""+entity2+"\"}) RETURN n1,rel,n2").data()if(len(answer)==0):answer=self.graph.run("MATCH (n1:Serise {name:\""+entity1+"\"})- [rel:subbank {type:\""+relation+"\"}] -> (n2:Bank{name:\""+entity2+"\"}) RETURN n1,rel,n2").data()if(len(answer)==0):answer=self.graph.run("MATCH (n1:Serise {name:\""+entity1+"\"})- [rel:subbank {type:\""+relation+"\"}] -> (n2:Serise{name:\""+entity2+"\"}) RETURN n1,rel,n2").data()returnanswer
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 21:44:14

12、游戏开发:用户界面与人工智能实现

游戏开发:用户界面与人工智能实现 1. 用户界面元素添加 在游戏开发中,用户界面元素的添加至关重要。以下是一些关键的用户界面元素添加步骤和相关知识。 1.1 对话框初始化 在开发过程中,我们需要为对话框类定义初始化器,具体操作如下: - 添加对话框的背景图像。 - 添…

作者头像 李华
网站建设 2026/9/10 20:41:49

申请专利带来的好处

专利对大家而言应该都不陌生,专利作为科技创新的载体,目前除了一般的减税、获得必要的现金收入作用外,还具有提升个人价值、宣传企业形象的重要作用.专利带来的好处个人拥有专利的好处:1、拥有3项发明专利或实用新型专利的个人,就可以加入中国发明家协会,成为发明家.2、拥有专利…

作者头像 李华
网站建设 2026/9/11 4:33:23

BilibiliSponsorBlock智能配置:一键告别B站广告干扰

BilibiliSponsorBlock智能配置&#xff1a;一键告别B站广告干扰 【免费下载链接】BilibiliSponsorBlock 一款跳过B站视频中恰饭片段的浏览器插件&#xff0c;移植自 SponsorBlock。A browser extension to skip sponsored segments in videos on Bilibili.com, ported from the…

作者头像 李华
网站建设 2026/9/10 6:12:13

单细胞T细胞分析新突破:高效追踪免疫应答全流程

在免疫治疗研究领域&#xff0c;单细胞T细胞数据分析长期以来面临着数据维度高、追踪难度大、可视化不足等严峻挑战。传统分析方法难以应对T细胞受体克隆动态变化的复杂性&#xff0c;研究人员往往需要在多个工具间不断切换&#xff0c;大大增加了学习和使用成本。 【免费下载链…

作者头像 李华
网站建设 2026/9/10 15:29:03

PDF补丁丁终极使用指南:PDFPatcher快速精通手册

PDF补丁丁终极使用指南&#xff1a;PDFPatcher快速精通手册 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱&#xff0c;可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档&#xff0c;探查文档结构&#xff0c;提取图片、转成图片等等 项目地址: https://gitcode.…

作者头像 李华
网站建设 2026/9/10 22:42:15

35、GnomeVFS 文件传输、类型识别与 URI 操作全解析

GnomeVFS 文件传输、类型识别与 URI 操作全解析 1. 文件传输功能概述 文件传输工具在将文件从一个位置移动到另一个位置时非常强大。借助这些工具,只需一条语句,就能将单个文件甚至整个目录树进行复制,而且不受文件系统类型的限制。 不过,其 API 和机制相对复杂。启动传…

作者头像 李华