7.5-图形数据库-3.pptx
7.5 图形数据库1 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发Neo4J查询语言CQLNeo4j中的各类API15中图算法及其应用【本节学习目标】2 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发一、图数据库语言CQLCQL代表Cypher Query Language是Neo4j图形数据库的查询语言;是一种声明性模式匹配语言;它遵循SQL语法;语法简单。Neo4j CQL 用命令来执行数据库操作。Neo4j CQL 支持多个子句例如where,order by等操作符,可编写非常复杂的查询。Neo4j CQL 支持一些功能,如字符串操作、聚合等,还有一些关系功能。3 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发1、使用CQL准备说明准备安装环境在Neo4J的官网上下载相应的安装包按照提示完成安装并配置正确本地http:/localhost:7474,配置了的远程可视化操作,则访问http:/0.0.0.0:7474/browser/现在可以使用CQL命令了4 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发2、图数据库语言CQL常用命令CREATE,创建 创建节点、关系和属性。使用属性创建节点,使用属性创建节点之间的关系,为节点或关系创建单个或多个标签MATCH,匹配检索节点,关系和属性数据RETURN,返回 返回查询结果WHERE,哪里提供条件过滤检索数据DELETE,删除 删除节点和关系REMOVE,移除 删除节点和关系的属性ORDER BY 以排序,排序检索数据SET组添加或更新标签5 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发3、图数据库语言CQL常用函数常用的Neo4j CQL函数:String,字符串用于使用String字面量。Aggregation,聚合,对结果执行聚合操作Relationship,关系,获取关系的细节,如startnode,endnode等。数据类型,定义节点或关系的属性:boolean、byte、short、int、long、float、double、char、String 等6 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发4、图数据库语言CQL例子创建客户CREATE(e:Customerid:1001,name:Abc,dob:01/10/1982)创建信用卡CREATE(cc:CreditCardid:5001,number:1234567890,cvv:888,expiredate:20/17)查询信用卡:MATCH(cc:CreditCard)RETURN cc.id,cc.number,cc.cvv,cc.expiredate创建客户和信用卡式节点之间的关系:MATCH(cust:Customer),(cc:CreditCard)WHERE cust.id=1001 AND cc.id=5001 CREATE(cust)-r:DO_SHOPPING_WITH shopdate:12/12/2014,price:55000-(cc)RETURN r7 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发4、图数据库语言CQL例子CREATE(cust)-r:DO_SHOPPING_WITHshopdate:12/12/2014,price:55000-(cc)RETURN r删 除 关 系 MATCH(cc:CreditCard)-rel-(c:Customer)DELETE cc,c,rel 两个节点及其相关联的关系成功删除。现在检查DELETE操作是否成功还是没有这样做。输入在数据浏览器下面的命令。MATCH(cc:CreditCard)-r-(c:Customer)RETURN r8 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发二、图数据库的APINeo4j的各类API,Neo4j的两种使用方式:嵌入式模式,服务器模式1 嵌入式模式:只需要引用Neo4j的开发包。一般在maven项目的pom.xml文件中引入即可,不需要开启neo4j服务器。2 Neo4j API:服务器模式:必须先安装和启动neo4j服务器,然后引入neo4j的驱动程序。同样在maven项目的pom.xml文件中引入即可。3 REST API,遍历框架:Traversal framework Java API9 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发三、图形数据库15个图算法遍历和寻路算法(5个)1.广度优先算法(BFS):遍历树数据结构,探索最近的邻居和他们的次级邻居。2.深度优先算法(DFS):遍历树数据结构,通过在回溯之前尽可能探索每个分支。3.单源最短路径:计算节点与所有其他节点之间的路径4.全源最短路径:计算包含图中节点之间所有最短路径的最短路径森林(组)。5.最小生成树(MWST):计算与访问树中所有节点相关的最小值10 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发三、图形数据库15个图算法Centrality Algorithms6.PageRank:估计当前节点对其相邻节点的重要性,再从其邻居那里获得节点的重要性。7.Degree Centrality:测量节点(或整个图表)所具有的关系数量,被分为流入和流出两个方向,关系具有指向性。8.Closeness Centrality:衡量一个节点对其集群内所有邻居的集中程度。9.Betweenness Centrality:测量通过节点的最短路径的数量(首先通过广度优先算法找到)。11 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发三、图形数据库15个图算法社区发现算法:这个类别也被称为聚类算法或分区算法。10.Label Propagation:基于邻域多数的标签作为推断集群的手段。11.Strongly Connected:定位节点组,其中每个节点可从同一组中的所有其他节点按照关系的方向到达,常被应用于深度优先算法。12 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发三、图形数据库15个图算法12.Union-Find/Connected Components/Weakly Connected|:查找节点组,其中每个节点可从同一组中的任何其他节点到达,而不考虑关系的方向。13.Louvain Modularity:通过比较它的关系密度与适当定义的随机网络来测量社团分组的质量(即假定的准确性)。14.Local Clustering Coefficient/Node Clustering Coefficient:对于一个特定的节点,量化了其到邻居节点的距离,(每个节点都直接连接到其他节点)。15.Triangle-Count and Average Clustering Coefficient:测量有多少节点具有三角形以及节点倾向于聚集在一起的程度。平均聚类系数为1时表明有一个分组,0时没有连接。13 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发本节学习结束!