图数据库neo4j上机操作课件_第1页
图数据库neo4j上机操作课件_第2页
图数据库neo4j上机操作课件_第3页
图数据库neo4j上机操作课件_第4页
图数据库neo4j上机操作课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图数据库Neo4j图数据库Neo4j1主要内容安装图数据库neo4j数据导入到图数据库图数据库模型准备Cypher语句查询图数据库IMPORT海量数据导入主要内容安装图数据库neo4j数据导入到图数据库图数据库模型2下载Neo4j下载Neo4j3

了解关系型数据企业基本信息表公司编号建筑资质负责人编号负责人名称公司名称上级公司股权控股项目基本信息项目编号参建单位项目名称审批部门项目时间行政单位信息表审批部门审批人员编号审批人员职务亲属关系表身份证号姓名关系关系人身份证号关系人姓名参建类型表项目编号参建单位参建类型了解关系型数据企业基本信息表公司编号建筑资质负责人编号公司编号公司名称负责人编号公司负责人建筑资质上级公司股权控股C100001A公司R000001张一一级C100001100%C100002B公司R000002李二二级C10000180%C100003C公司R000003王三二级C10000170%C100004D公司R000004张四二级C10000351%C100005E公司R000005李五二级C10000355%C100006F公司R000006王六二级C100002100%C100007G公司R000007张七三级C10000475%C100008H公司R000002李二三级C10000475%C100009I公司R000009王九三级C10000475%C100010J公司R000010张十二级C10000560%C100011K公司R000008刘一三级C10000560%C100012L公司R000005李五一级C100012100%项目编号参建单位项目名称审批部门项目时间P00001A公司某城市外环线道路改造工程A区建委2015P00001B公司某城市外环线道路改造工程A区建委2015P00002G公司某城市热力管道工程C区建委2016P00003E公司某城市轨道交通18号线工程B区建委2014P00003F公司某城市轨道交通18号线工程B区建委2014P00003D公司某城市轨道交通18号线工程B区建委2014P00004H公司某城市新建中环线快速路工程C区建委2013P00005I公司某城市新建长江隧道工程C区建委2015P00005J公司某城市新建长江隧道工程C区建委2015P00005K公司某城市新建长江隧道工程C区建委2015P00005L公司某城市新建长江隧道工程C区建委2015审批部门审批人员编号审批人员职务A区建委S000001赤一审批A区建委S000002橙一综合C区建委S000003黄一审批C区建委S000004绿一综合B区建委S000005青一综合B区建委S000006蓝一审批B区建委S000007紫一综合C区建委S000008白一综合C区建委S000009黑一综合C区建委S000010灰一审批C区建委S000011明一综合C区建委S000012月一综合编号1姓名1关系编号2姓名2S000001赤一母女K000001李一S000002橙一夫妻K000002金二S000003黄一父子K000003黄豆豆S000004绿一夫妻K000004乐乐S000005青一父子K000005青禾S000006蓝一夫妻K000006欢欢S000007紫一父女K000007紫二S000008白一夫妻K000008甜甜S000009黑一父女K000009木木S000010灰一夫妻R000003王三S000011明一夫妻K000010西西S000012月一父子K000011月二关系型数据库数据公司编号公司名称负责人编号公司负责人建筑资质上级公司股权控股5加载数据-01.建立单位节点和负责人的节点,构建控股负责关系LOADCSVWITHHEADERSFROM"file:///D:/sample/单位基本信息.csv"ASrowCREATE(n:公司)SETn=row,n.公司编号=n.公司编号,n.公司名称=n.公司名称,n.负责人=n.负责人编号,n.建筑资质=n.建筑资质,n.上级公司=n.上级公司LOADCSVWITHHEADERSFROM"file:///D:/sample/单位基本信息.csv"ASrowMERGE(n:人员{编号:row.负责人编号,姓名:row.公司负责人})--create人员and公司relations负责人关系MATCH(a:人员),(b:公司)WHEREa.编号=b.负责人编号CREATE(a)-[r:负责]->(b)RETURNr--create公司and公司relations控股关系MATCH(a:公司),(b:公司)WHEREa.上级公司=b.公司编号CREATE(b)-[r:控股]->(a)RETURNr加载数据-01.建立单位节点和负责人的节点,构建控股负6LOAD

CSV提示错误设置file:///与Cypher

LOADCSV子句一起使用的URL

的根目录。这必须设置为数据库服务器的文件系统上的单个目录,并将使所有从file:///URL相对于指定目录加载的请求(类似于unixchroot的操作)。默认值为import。这是一种安全措施,可防止数据库访问标准导入目录之外的文件。设置dbms.directories.import为空删除此安全措施,而是允许访问系统上的任何文件。

LOADCSV提示错误设置file:///与Cypher7加载数据-01.建立单位节点和负责人的节点,构建控股负责关系LOADCSVWITHHEADERSFROM"file:///D:/sample/单位基本信息.csv"ASrowMERGE(c:公司{公司编号:row.公司编号,公司名称:row.公司名称,建筑资质:row.建筑资质})MERGE(pc:公司{公司编号:row.上级公司})MERGE(p:人员{编号:row.负责人编号,姓名:row.公司负责人})CREATE(p)-[r:负责]->(c)CREATE(pc)-[s:控股{份额:row.股权控股}]->(c)MATCH(n:公司{公司名称:'D公司'})-[r:控股]->(m)RETURNn,r,mMATCH(n:公司{公司名称:'C公司'})-[r:控股*0..2]->(m)RETURNn,r,m加载数据-01.建立单位节点和负责人的节点,构建控股负8LOADCSVWITHHEADERSFROM"file:///D:/sample/项目基本信息.csv"ASrowMERGE(p:建设项目{项目编号:row.项目编号,项目名称:row.项目名称,项目时间:row.项目时间})MERGE(d:审批部门{部门名称:row.审批部门})MERGE(c:公司{公司名称:row.参建单位})MERGE(d)-[:审批]->(p)MERGE(c)-[:参建]->(p)加载数据-02.建立审批部门和项目的节点,构建审批参建关系LOADCSVWITHHEADERSFROM"fi9LOADCSVWITHHEADERSFROM"file:///D:/sample/人员关系信息.csv"ASrowMERGE(p1:人员{编号:row.编号1,姓名:row.姓名1})MERGE(p2:人员{编号:row.编号2,姓名:row.姓名2})MERGE

(p1)-[:亲属{名称:row.关系}]->(p2)加载数据-03.建立人员节点,并构建人员亲属关系LOADCSVWITHHEADERSFROM"fi10LOADCSVWITHHEADERSFROM"file:///D:/sample/审批单位人员.csv"ASrowMERGE(d:审批部门{部门名称:row.审批部门})MERGE(p:人员{编号:row.审批人员编号,姓名:row.审批人员})MERGE(p)-[:任职{职务:row.职务}]->(d)加载数据-04.建立审批部门和审批人员的节点,构建任职关系LOADCSVWITHHEADERSFROM"fi11CREATEINDEXON:公司(公司名称)CREATEINDEXON:人员(编号)CREATEINDEXON:审批部门(部门名称)CREATEINDEXON:建设项目(项目编号)加载数据-05.建立索引,提高数据查询效率CREATEINDEXON:公司(公司名称)12图数据库数据图数据库数据1. 获取和某个实体相关的所有关系和实体2. 获取某两个或多个实体之间的关系3. 动态更新图数据库的数据图数据库在审计大数据关联分析中的应用场景(案例分析)4. 按照实体或者关系的模式进行匹配1. 获取和某个实体相关的所有关系和实体2. 获取某两个或多141. 获取和某个实体相关的所有关系和实体MATCHp=(n:建设项目{项目编号:'P00002'})<-[*]-(m)RETURNp1. 获取和某个实体相关的所有关系和实体MATCHp=(n152. 获取某两个实体之间的关系MATCH(p1:人员{姓名:'灰一}),(p2:人员{姓名:'王三'}),p=(p1)-[*2..10]-(p2)returnp2. 获取某两个实体之间的关系MATCH(p1:人员{姓名163. 关系数据的更新项目编号参建单位参建类型P00001A公司总承包P00001B公司分包P00002G公司总承包P00003E公司分包P00003F公司监理P00003D公司总承包P00004H公司总承包P00005I公司监理P00005J公司分包P00005K公司分包P00005L公司总承包LOADCSVWITHHEADERSFROM"file:///C:/Users/Administrator/Desktop/neo4j测试/公司参建关系.csv"ASrowMERGE(p:建设项目{项目编号:row.项目编号})MERGE(c:公司{公司名称:row.参建单位})MERGE(c)-[r:参建]->(p)setr.角色=row.参建类型3. 关系数据的更新项目编号参建单位参建类型P00001A公174. 实体或者关系的模式匹配MATCH(c:公司)-[r1:控股*1..5]->(d1:公司)-[r2:参建]->(p:建设项目),(c:公司)-[r3:控股*1..5]->(d2:公司)-[r4:参建]->(p:建设项目)WHEREr2.角色='总承包'andr4.角色='监理'RERURNc,r1,r2,d1,r3,r4,d2,p4. 实体或者关系的模式匹配MATCH(c:公司)-[r1185. 实体或者关系的模式匹配-利益输送MATCHpath1=(p1:人员)-[r1:负责]->(c1:公司)-[*]->(p3:建设项目),path2=(p2:人员)-[r4:亲属]-(p1:人员),path3=(p3:建设项目)<-[r5:审批]-(g:审批部门)<-[r6:任职]-(p2:人员)returnpath1,path2,path35. 实体或者关系的模式匹配-利益输送MATCHpath119//建设项目的施工总承包单位和监理单位被同一家单位控股MATCHpath1=(e0:企业)-[*1..5]->(e1:企业)-[r1:参建]->(p:建设项目)<-[b1:建设]-(m),path2=(e0:企业)-[*1..5]->(e2:企业)-[r2:参建]->(p:建设项目)<-[b2:建设]-(n)WHEREr1.参建角色='施工总承包'andr2.参建角色='工程监理'RETURNpath1,path2//国有企业负责人的亲属负责或者参股的公司参与该单位的项目或者采购MATCHpath1=(p1:自然人)-[*1..5]->(e1)<-[*1..5]-(p2:自然人),path2=(p1:自然人)-[r3:配偶]-(p2:自然人)RETURNpath1,path2MATCHpath1=(p1:企业)-[r:供货]->(p2:企业),path2=(e1:行政事业单位{单位名称:'上海市安全生产监督管理局'})-[r1:行政审批]->(p3:企业)WHEREr.发票名称=~'.*[柴油|成品油].*'andNOT(e1)-->(p1)RETURNpath1一些可能的问题发现模式//建设项目的施工总承包单位和监理单位被同一家单位控股//国20配置图数据库neo4j3.2(ZIP文件)配置图数据库neo4j3.2(ZIP文件)添加系统变量:setNEO4J_HOME=C:\neo4j-community-3.2.2

PATH=C:\neo4j-community-3.2.2\bin;

配置图数据库neo4j3.2(ZIP文件)配置图数据库neoNeo4j海量数据导入方式用LOADCSV方式只能导入小量数据,海量数据导入目前应用的是Neo4j自带的工具Neo4j海量数据导入方式用LOADCSV方式只能导入小准备CSV如果数据量不大,可以打开CSV修改头文件,如果是海量数据,可以将头文件和数据分开存储。准备CSV如果数据量不大,可以打开CSV修改头文件,如果是海执行NEO4j-IMPORT命令在资源管理器中,按住SHIFT键,在此打开命令窗口neo4j-import.bat-intozhifu--nodes"收款单位.csv"--nodes"预算单位.csv"--relationships"支付关系.csv"练习:将财政支付的预算单位与支付单位关系导入到NEO4j中执行NEO4j-IMPORT命令在资源管理器中,按住SHIF谢谢谢谢谢谢谢谢25为更好满足学习和使用需求,课件在下载后自由编辑,请根据实际情况进行调整Thankyouforwatchingandlistening.Ihopeyoucanmakegreatprogress为更好满足学习和使用需求,课件在下载后自由编辑,请根据实际情26图数据库Neo4j图数据库Neo4j27主要内容安装图数据库neo4j数据导入到图数据库图数据库模型准备Cypher语句查询图数据库IMPORT海量数据导入主要内容安装图数据库neo4j数据导入到图数据库图数据库模型28下载Neo4j下载Neo4j29

了解关系型数据企业基本信息表公司编号建筑资质负责人编号负责人名称公司名称上级公司股权控股项目基本信息项目编号参建单位项目名称审批部门项目时间行政单位信息表审批部门审批人员编号审批人员职务亲属关系表身份证号姓名关系关系人身份证号关系人姓名参建类型表项目编号参建单位参建类型了解关系型数据企业基本信息表公司编号建筑资质负责人编号公司编号公司名称负责人编号公司负责人建筑资质上级公司股权控股C100001A公司R000001张一一级C100001100%C100002B公司R000002李二二级C10000180%C100003C公司R000003王三二级C10000170%C100004D公司R000004张四二级C10000351%C100005E公司R000005李五二级C10000355%C100006F公司R000006王六二级C100002100%C100007G公司R000007张七三级C10000475%C100008H公司R000002李二三级C10000475%C100009I公司R000009王九三级C10000475%C100010J公司R000010张十二级C10000560%C100011K公司R000008刘一三级C10000560%C100012L公司R000005李五一级C100012100%项目编号参建单位项目名称审批部门项目时间P00001A公司某城市外环线道路改造工程A区建委2015P00001B公司某城市外环线道路改造工程A区建委2015P00002G公司某城市热力管道工程C区建委2016P00003E公司某城市轨道交通18号线工程B区建委2014P00003F公司某城市轨道交通18号线工程B区建委2014P00003D公司某城市轨道交通18号线工程B区建委2014P00004H公司某城市新建中环线快速路工程C区建委2013P00005I公司某城市新建长江隧道工程C区建委2015P00005J公司某城市新建长江隧道工程C区建委2015P00005K公司某城市新建长江隧道工程C区建委2015P00005L公司某城市新建长江隧道工程C区建委2015审批部门审批人员编号审批人员职务A区建委S000001赤一审批A区建委S000002橙一综合C区建委S000003黄一审批C区建委S000004绿一综合B区建委S000005青一综合B区建委S000006蓝一审批B区建委S000007紫一综合C区建委S000008白一综合C区建委S000009黑一综合C区建委S000010灰一审批C区建委S000011明一综合C区建委S000012月一综合编号1姓名1关系编号2姓名2S000001赤一母女K000001李一S000002橙一夫妻K000002金二S000003黄一父子K000003黄豆豆S000004绿一夫妻K000004乐乐S000005青一父子K000005青禾S000006蓝一夫妻K000006欢欢S000007紫一父女K000007紫二S000008白一夫妻K000008甜甜S000009黑一父女K000009木木S000010灰一夫妻R000003王三S000011明一夫妻K000010西西S000012月一父子K000011月二关系型数据库数据公司编号公司名称负责人编号公司负责人建筑资质上级公司股权控股31加载数据-01.建立单位节点和负责人的节点,构建控股负责关系LOADCSVWITHHEADERSFROM"file:///D:/sample/单位基本信息.csv"ASrowCREATE(n:公司)SETn=row,n.公司编号=n.公司编号,n.公司名称=n.公司名称,n.负责人=n.负责人编号,n.建筑资质=n.建筑资质,n.上级公司=n.上级公司LOADCSVWITHHEADERSFROM"file:///D:/sample/单位基本信息.csv"ASrowMERGE(n:人员{编号:row.负责人编号,姓名:row.公司负责人})--create人员and公司relations负责人关系MATCH(a:人员),(b:公司)WHEREa.编号=b.负责人编号CREATE(a)-[r:负责]->(b)RETURNr--create公司and公司relations控股关系MATCH(a:公司),(b:公司)WHEREa.上级公司=b.公司编号CREATE(b)-[r:控股]->(a)RETURNr加载数据-01.建立单位节点和负责人的节点,构建控股负32LOAD

CSV提示错误设置file:///与Cypher

LOADCSV子句一起使用的URL

的根目录。这必须设置为数据库服务器的文件系统上的单个目录,并将使所有从file:///URL相对于指定目录加载的请求(类似于unixchroot的操作)。默认值为import。这是一种安全措施,可防止数据库访问标准导入目录之外的文件。设置dbms.directories.import为空删除此安全措施,而是允许访问系统上的任何文件。

LOADCSV提示错误设置file:///与Cypher33加载数据-01.建立单位节点和负责人的节点,构建控股负责关系LOADCSVWITHHEADERSFROM"file:///D:/sample/单位基本信息.csv"ASrowMERGE(c:公司{公司编号:row.公司编号,公司名称:row.公司名称,建筑资质:row.建筑资质})MERGE(pc:公司{公司编号:row.上级公司})MERGE(p:人员{编号:row.负责人编号,姓名:row.公司负责人})CREATE(p)-[r:负责]->(c)CREATE(pc)-[s:控股{份额:row.股权控股}]->(c)MATCH(n:公司{公司名称:'D公司'})-[r:控股]->(m)RETURNn,r,mMATCH(n:公司{公司名称:'C公司'})-[r:控股*0..2]->(m)RETURNn,r,m加载数据-01.建立单位节点和负责人的节点,构建控股负34LOADCSVWITHHEADERSFROM"file:///D:/sample/项目基本信息.csv"ASrowMERGE(p:建设项目{项目编号:row.项目编号,项目名称:row.项目名称,项目时间:row.项目时间})MERGE(d:审批部门{部门名称:row.审批部门})MERGE(c:公司{公司名称:row.参建单位})MERGE(d)-[:审批]->(p)MERGE(c)-[:参建]->(p)加载数据-02.建立审批部门和项目的节点,构建审批参建关系LOADCSVWITHHEADERSFROM"fi35LOADCSVWITHHEADERSFROM"file:///D:/sample/人员关系信息.csv"ASrowMERGE(p1:人员{编号:row.编号1,姓名:row.姓名1})MERGE(p2:人员{编号:row.编号2,姓名:row.姓名2})MERGE

(p1)-[:亲属{名称:row.关系}]->(p2)加载数据-03.建立人员节点,并构建人员亲属关系LOADCSVWITHHEADERSFROM"fi36LOADCSVWITHHEADERSFROM"file:///D:/sample/审批单位人员.csv"ASrowMERGE(d:审批部门{部门名称:row.审批部门})MERGE(p:人员{编号:row.审批人员编号,姓名:row.审批人员})MERGE(p)-[:任职{职务:row.职务}]->(d)加载数据-04.建立审批部门和审批人员的节点,构建任职关系LOADCSVWITHHEADERSFROM"fi37CREATEINDEXON:公司(公司名称)CREATEINDEXON:人员(编号)CREATEINDEXON:审批部门(部门名称)CREATEINDEXON:建设项目(项目编号)加载数据-05.建立索引,提高数据查询效率CREATEINDEXON:公司(公司名称)38图数据库数据图数据库数据1. 获取和某个实体相关的所有关系和实体2. 获取某两个或多个实体之间的关系3. 动态更新图数据库的数据图数据库在审计大数据关联分析中的应用场景(案例分析)4. 按照实体或者关系的模式进行匹配1. 获取和某个实体相关的所有关系和实体2. 获取某两个或多401. 获取和某个实体相关的所有关系和实体MATCHp=(n:建设项目{项目编号:'P00002'})<-[*]-(m)RETURNp1. 获取和某个实体相关的所有关系和实体MATCHp=(n412. 获取某两个实体之间的关系MATCH(p1:人员{姓名:'灰一}),(p2:人员{姓名:'王三'}),p=(p1)-[*2..10]-(p2)returnp2. 获取某两个实体之间的关系MATCH(p1:人员{姓名423. 关系数据的更新项目编号参建单位参建类型P00001A公司总承包P00001B公司分包P00002G公司总承包P00003E公司分包P00003F公司监理P00003D公司总承包P00004H公司总承包P00005I公司监理P00005J公司分包P00005K公司分包P00005L公司总承包LOADCSVWITHHEADERSFROM"file:///C:/Users/Administrator/Desktop/neo4j测试/公司参建关系.csv"ASrowMERGE(p:建设项目{项目编号:row.项目编号})MERGE(c:公司{公司名称:row.参建单位})MERGE(c)-[r:参建]->(p)setr.角色=row.参建类型3. 关系数据的更新项目编号参建单位参建类型P00001A公434. 实体或者关系的模式匹配MATCH(c:公司)-[r1:控股*1..5]->(d1:公司)-[r2:参建]->(p:建设项目),(c:公司)-[r3:控股*1..5]->(d2:公司)-[r4:参建]->(p:建设项目)WHEREr2.角色='总承包'andr4.角色='监理'RERURNc,r1,r2,d1,r3,r4,d2,p4. 实体或者关系的模式匹配MATCH(c:公司)-[r1445. 实体或者关系的模式匹配-利益输送MATCHpath1=(p1:人员)-[r1:负责]->(c1:公司)-[*]->(p3:建设项目),path2=(p2:人员)-[r4:亲属]-(p1:人员),path3=(p3:建设项目)<-[r5:审批]-(g:审批部门)<-[r6:任职]-(p2:人员)re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论