Neo4J粗谈PPT学习课件_第1页
Neo4J粗谈PPT学习课件_第2页
Neo4J粗谈PPT学习课件_第3页
Neo4J粗谈PPT学习课件_第4页
Neo4J粗谈PPT学习课件_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

,粗谈,1,数据库历史,1923年,CTR发明了首款电动打孔机,2,2020/5/2,数据库历史,1950年雷明顿兰德公司推出的UnivacI一秒钟可以输入数百条记录的磁带驱动器,3,2020/5/2,数据库历史,汞延迟线,4,2020/5/2,数据库历史,1956年IBM生产出第一个磁盘驱动器Model305RAMAC,5,2020/5/2,数据库历史,60年代数据库系统的萌芽。1961:通用电气开发了第一个数据库管理系统IDS1969:E.F.Codd发明了关系数据库。1973:Cullinane公司开发了IDMS一个针对IBM主机的基于网络模型的数据库。1976:Honeywell公司推出了MulticsRelationalDataStore第一个商用关系数据库产品。1979:Oracle公司引入了第一个商用SQL关系数据库管理系统。1983:IBM推出了DB2数据库产品。1985:为ProcteritidentifiesPathswhichorderNodes,28,2020/5/2,Indexeslook-upNodesorRelationshipsAnIndexmapsfromPropertiestoeitherNodesorRelationships,29,2020/5/2,AGraphDatabasemanagesaGraphandalsomanagesrelatedIndexes,Neo4jisaGraphDatabase,30,2020/5/2,ComparingDatabaseModels,31,2020/5/2,AGraphDatabasetransformsaRDBMS,32,2020/5/2,AGraphDatabaseelaboratesaKey-ValueStore,33,2020/5/2,ColumnFamily(BigTable-style)databasesareanevolutionofkey-value,usingfamiliestoallowgroupingofrows.Storedinagraph,thefamiliescouldbecomehierarchical,andtherelationshipsamongdatabecomesexplicit.,AGraphDatabaserelatesColumn-Family,34,2020/5/2,AGraphDatabasenavigatesaDocumentStore,35,2020/5/2,Neo4jHighlights,36,2020/5/2,LanguageDriversFriendsofNeo4jspeakmanylanguages,andworkinmanyframeworks.,37,2020/5/2,/download,下载,38,2020/5/2,启动,39,2020/5/2,启动,40,2020/5/2,Webadmin,41,2020/5/2,Browser,42,2020/5/2,TheNeo4jGraphDatabase,43,2020/5/2,Nodes,44,2020/5/2,Relationships,45,2020/5/2,Relationships,一个关系包含两个节点,而且开始和结束节点是有效的。,关系总是有方向的,关系可以被看做相关节点的进和出,这对于图的遍历是很有用的,注意,一个节点可以对自己产生关系,46,2020/5/2,Properties,节点和关系都可以有属性。,属性是一个键值对,KEY是一个String。属性值可以是原始类型或者一个原始类型的数组。举例,String,int和int都是设立的属性值。,47,2020/5/2,Properties,48,2020/5/2,Labels,Label是一个图结构,用来将节点组成集合,所有用同一个label被标记的节点属于一个集合。许多数据库查询可以运行在这些集合中而不是整个图,这样使得查询更易编写和更有效率。一个节点可以被多个label标记,也可以没有label,label是图的可选项。Label用于定义约束和为属性增加属性。,49,2020/5/2,Paths,Path是一个或者多个节点和他们之间的关系,代表一个查询或遍历的结果。,50,2020/5/2,Paths,最短的path长度为0:,长度为1的path,其他长度为1的path,51,2020/5/2,Traversal一个图就是根据一些规则访问他的节点和关系。大多数情况下只有子图被访问,就像你已经知道从图的哪里可以找到感兴趣的节点和关系。,Traversal,52,2020/5/2,Schema,Indexes创建索引可以提升性能,可以提升在数据库中查找节点的速度。ConstraintsNeo4j可以帮助你的数据整洁。用一些特殊的规则来定制约束。任何破坏这些规则的改变将被拒绝。,Neo4j是一个schema可选的图数据库。,53,2020/5/2,CypherQueryLanguage,54,2020/5/2,Cypher相当于关系型数据库中的SQL。Cypher书写直观可以不用编写复杂的查询代码即可实现对图数据库的操作。-百度百科Cypher是一种声明式图查询语言,且对于图存储的查询及更新操作具有高可读性和高效性。Cypher是一种非常简单而且强大的语言。通过Cypher可以表达非常复杂的数据库查询。因此让你可以更关注你的领域,而不是迷失在数据库存储里面。,Introduction,55,2020/5/2,MATCH:图模式匹配。这是最常用的从图里面获取数据的途径。WHERE:理论上不算一个从句,应该算是MATCH、OPTIONALMATCH和WITH的一部分。为一个模式添加约束,或者通过WITH过滤中间结果。RETURN:返回,Structure,56,2020/5/2,例子1,找出John和John的朋友们(间接的朋友关系)并返回John和所有找到的间接朋友。,MATCH(johnname:John)-:friend-()-:friend-(fof)RETURNjohn,fof,57,2020/5/2,例子2,找出朋友名字以S开头的组合,MATCH(user)-:friend-(follower)WHEREINJoe,John,Sara,Maria,SteveAND=S.*RETURNuser,,58,2020/5/2,CREATE(andDELETE):创建(删除)节点和关系。SET(andREMOVE):在节点上用SET设置属性的值或者添加Label,并用REMOVE删除他们。MERGE:匹配现有的或者创建新的节点和模式。这对于连接独特的约束条件是非常有用的。,Structure,59,2020/5/2,嵌入式的数据库,60,2020/5/2,图的创建图的查询,实例,61,2020/5/2,根本原因分析,62,2020/5/2,CREATE(A1:Devicename:A1,status:normal),(A2:Devicename:A2,status:normal),(B1:Devicename:B1,status:normal),(B2:Devicename:B2,status:normal),(B3:Devicename:B3,status:unavailable),(B4:Devicename:B4,status:normal),(C1:Devicename:C1,status:unavailable),(C2:Devicename:C2,status:normal),(C3:Devicename:C3,status:normal),(C4:Devicename:C4,status:unavailable),创建图,63,2020/5/2,MATCH(n)RETURNn;返回全图MATCHp=(d10:Devicename:D10)-conn:connection*1.-(anyDevice:Device)WHEREanyDevice.status=unavailableRETURNp;查找D10的宕机原因MATCHp=(d1:Devicename:D1)-r*

温馨提示

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

最新文档

评论

0/150

提交评论