当前位置: 首页 > news >正文

wordpress 中文网站个人网站设计论文php

wordpress 中文网站,个人网站设计论文php,广东省广州市白云区广云路11号,化妆品网站建设说明图数据库介绍 图数据库是一种专门设计用于存储和管理图形数据的数据库类型。在图数据库中#xff0c;数据以图的形式表示#xff0c;其中节点表示实体#xff0c;边表示实体之间的关系。这种表示方式非常适合处理具有复杂关系的数据#xff0c;如社交网络、推荐系统、网络…图数据库介绍 图数据库是一种专门设计用于存储和管理图形数据的数据库类型。在图数据库中数据以图的形式表示其中节点表示实体边表示实体之间的关系。这种表示方式非常适合处理具有复杂关系的数据如社交网络、推荐系统、网络拓扑、生物信息学等领域的数据。图数据库通常具有以下特点 节点Nodes 表示图中的实体每个节点都可以包含属性用于描述实体的特征。边Edges 表示图中节点之间的关系边也可以包含属性用于描述关系的特征。图查询语言 图数据库通常配有一种特定的查询语言用于检索和操作图数据。Cypher是一个常见的图查询语言用于Neo4j图数据库。灵活的模型 图数据库的数据模型非常灵活可以轻松表示复杂的关系结构而不需要预定义的模式。性能优化 图数据库在处理图形数据时具有高性能。由于它们专门设计用于处理节点和边之间的关系因此在执行与图形相关的查询时通常能够提供较高的性能。 应用图数据库的场景包括 社交网络分析 分析社交网络中的用户关系、群体结构等。推荐系统 基于用户和物品之间的关系提供个性化的推荐。网络拓扑 管理和分析复杂的网络结构如计算机网络或交通网络。生物信息学 分析基因、蛋白质和其他生物实体之间的关系。 图数据库的例子包括Neo4j、Amazon Neptune、ArangoDB等。这些数据库在处理具有复杂关系的数据时通常比传统的关系型数据库更有效。为什么要使用图数据库 在数据关系中心图形数据库在查询速度方面非常高效即使面对深度和复杂的查询也是如此。之前有人做了个实验在一个社交网络找到最大深度为 4 的朋友的朋友其中当深度为 4 的时候图数据库的执行时间约为关系型数据库的 一千五百分之一,。 图数据库是以图结构存储和查询数据的数据库。在图数据库中节点和关系取代表外键和 Join。在图数据库中无论何时运行类似 Join 的操作数据库都会使用列表并直接访问链接的节点而无需进行昂贵的搜索和匹配运算。各个数据库的优劣点 数据库类型数据类型优势劣势举例键值数据库键值对简单、高性能不适用于复杂查询没有内建查询语言Redis、DynamoDB、Riak列存储数据库列适用于大规模数据分析压缩效果好读取特定列的性能高不适合频繁更新操作Apache Cassandra、HBase、Bigtable文档性数据库文档灵活存储和查询复杂的数据结构支持丰富的查询语言处理大量数据时性能可能不如专门优化的存储引擎MongoDB、CouchDB、Elasticsearch图数据库节点和边高效处理复杂关系型数据适用于网络分析、社交网络、推荐系统等不适合简单查询对于关系不是核心的应用可能过于复杂Neo4j、ArangoDB、Amazon Neptune Neo4j 介绍 Neo4j 是一种图数据库管理系统专门设计用于存储和处理图形数据。主要有以下构建元素 节点节点是图中的基本单元用于表示实体。每个节点可以包含一个或多个属性用于描述实体的特征。属性 节点和关系可以包含属性属性是键值对的形式用于存储有关节点或关系的信息。属性提供了关于节点或关系的详细数据。关系关系表示节点之间的连接或关联。它有一个方向描述了连接的含义。关系也可以包含属性用于描述关系的特征。标签标签是用于将节点分组的一种方式。节点可以附加一个或多个标签这样可以更轻松地对节点进行分类和检索。标签类似于节点的“类型”。数据浏览器 Neo4j提供了一个数据浏览器是一个可视化工具用于浏览和查询图数据库中的数据。通过数据浏览器用户可以执行Cypher查询、可视化图形数据并了解节点、关系和属性的结构。 Neo4j 使用场景 Neo4j 常用于欺诈检测、实时推荐引擎。Neo4j常用于欺诈检测和实时推荐引擎等应用场景这是因为Neo4j在处理复杂关系型数据方面具有优势。 Docker 安装 Neo4j 安装Neo4j可以通过Docker容器化来简化和隔离部署过程。以下是在Docker中安装Neo4j的一般步骤 拉取Neo4j镜像 打开终端命令行并运行以下命令来拉取Neo4j官方Docker镜像 docker pull neo4j这将从Docker Hub下载最新的Neo4j镜像。 运行Neo4j容器 运行以下命令以在容器中启动Neo4j数据库。请注意使用-p选项将Neo4j的HTTP端口映射到本地主机端口例如7474和7687 docker run --name my-neo4j -e NEO4J_AUTHneo4j/123456 -p 7474:7474 -p 7687:7687 -d neo4j这将在后台运行Neo4j容器并将其命名为my-neo4j。你可以根据需要更改容器名称。 访问Neo4j浏览器 一旦容器启动你可以通过浏览器访问Neo4j浏览器。打开浏览器并访问 http://localhost:7474。默认的用户名为 neo4j初始密码会在第一次访问时要求更改。配置连接 如果你的应用需要连接到Neo4j数据库确保在应用中使用正确的Neo4j连接字符串例如 bolt://localhost:7687。停止和删除容器 如果你想停止Neo4j容器可以运行以下命令 docker stop my-neo4jNeo4j 的 Cypher 语言是专门为处理图形数据而构建的CQL 代表 Cypher 查询语言。像 Oracle 数据库具有查询语言 SQLNeo4j 具有 CQL 作为查询语言。对于 CQL 而言它是一种声明性模式匹配语言遵循 SQL 语法。 CQL 使用基础 简单的 CQL 命令及用法如下 CQL 命令用法CREATE创建节点MATCH检索有关节点关系和属性数据RETURN返回查询结果WHERE提供条件过滤检索数据DELETE删除节点和关系REMOVE删除节点和关系的属性ORDER BY排序检索数据SET添加或更新标签 创建节点CREATE CREATE (n:Label {property1: value1, property2: value2, ...})示例 CREATE (person:Person {name: John, age: 30})创建关系CREATE MATCH (node1:Label1), (node2:Label2) WHERE node1.property value1 AND node2.property value2 CREATE (node1)-[:RELATIONSHIP_TYPE]-(node2)示例 MATCH (john:Person {name: John}), (jane:Person {name: Jane}) CREATE (john)-[:KNOWS]-(jane)查询节点和关系MATCH MATCH (node:Label {property: value})-[:RELATIONSHIP_TYPE]-(relatedNode) RETURN node, relatedNode示例 MATCH (person:Person {name: John})-[:KNOWS]-(friend) RETURN person, friend更新节点属性SET MATCH (node:Label {property: value}) SET node.property newValue示例 MATCH (person:Person {name: John}) SET person.age 31删除节点及其关系DELETE MATCH (node:Label {property: value})-[relation:RELATIONSHIP_TYPE]-() DELETE node, relation示例 MATCH (person:Person {name: John})-[relation:KNOWS]-() DELETE person, relation查询节点及其关系RETURN MATCH (node:Label {property: value})-[:RELATIONSHIP_TYPE]-(relatedNode) RETURN node, relatedNode示例 MATCH (person:Person {name: John})-[:KNOWS]-(friend) RETURN person, friend查询节点的属性RETURN MATCH (node:Label {property: value}) RETURN node.property示例 MATCH (person:Person {name: John}) RETURN person.ageGo 语言创建 Neo4j 数据库 使用 Go 语言创建 Neo4j 数据库西游数据并写入 Neo4j 数据库中 package mainimport (fmtgithub.com/neo4j/neo4j-go-driver/v4/neo4jlog )func main() {// Neo4j数据库连接信息neo4jURI : bolt://43.143.147.135:27687username : usernamepassword : password// 创建Neo4j数据库驱动driver, err : neo4j.NewDriver(neo4jURI, neo4j.BasicAuth(username, password, ))if err ! nil {log.Fatal(err)}defer driver.Close()// 创建Neo4j数据库会话session, err : driver.Session(neo4j.AccessModeWrite)if err ! nil {log.Fatal(err)}defer session.Close()// 定义要写入的数据data : []string{CREATE (tang:Character {NodeID: 1, Name: TangSeng, Title: 唐僧}),CREATE (wukong:Character {NodeID: 2, Name: SunWukong, Title: 孙悟空}),CREATE (bajie:Character {NodeID: 3, Name: ZhuBajie, Title: 猪八戒}),CREATE (wujing:Character {NodeID: 4, Name: ShaWujing, Title: 沙悟净}),CREATE (xitian:Place {NodeID: 5, Name: Xitian, Title: 西天}),CREATE (journey:Task {NodeID: 6, Name: Journey, Title: 西天取经任务}),MATCH (master:Character {Name: TangSeng}),(student:Character {Name: SunWukong}) CREATE (student)-[:MasterOf]-(master),MATCH (master:Character {Name: TangSeng}),(student:Character {Name: ZhuBajie}) CREATE (student)-[:MasterOf]-(master),MATCH (master:Character {Name: TangSeng}),(student:Character {Name: ShaWujing}) CREATE (student)-[:MasterOf]-(master),MATCH (companion1:Character {Name: SunWukong}),(companion2:Character {Name: ZhuBajie}) CREATE (companion1)-[:CompanionOf]-(companion2),MATCH (companion1:Character {Name: SunWukong}),(companion2:Character {Name: ShaWujing}) CREATE (companion1)-[:CompanionOf]-(companion2),MATCH (character:Character {Name: SunWukong}),(place:Place {Name: Xitian}) CREATE (character)-[:TravelsTo]-(place),MATCH (character:Character {Name: ZhuBajie}),(place:Place {Name: Xitian}) CREATE (character)-[:TravelsTo]-(place),MATCH (character:Character {Name: ShaWujing}),(place:Place {Name: Xitian}) CREATE (character)-[:TravelsTo]-(place),MATCH (place:Place {Name: Xitian}),(task:Task {Name: Journey}) CREATE (task)-[:MissionTo]-(place),}// 执行CQL命令for _, query : range data {result, err : session.Run(query, nil)if err ! nil {log.Fatal(err)}// 输出查询结果fmt.Printf(Result: %v\n, result)} } 通过登录到 Neo4j 浏览器中可以发现成功写入数据 创建新的关系比如猪八戒和沙悟净曾是同事关系具体数据库执行命令如下 MATCH (n:Character {Name:ZhuBajie}),(m:Character {Name:ShaWujing}) Create (n)-[r:同事]-(m) return n.Name,type(r),m.Name执行成功后关系图谱增加了一条关系当执行两次后关系图谱会增加两条相同的关系 当关系增加多了之后要删除多余的关系具体命令如下 MATCH (n:Character {Name:ZhuBajie})-[relation:同事]-() WITH relation LIMIT 1 DELETE relation成功执行后关系恢复正常关系。 当人员出现变动后比如孙悟空三打白骨精后被赶回花果山公司架构出现问题要三处孙悟空的人物关系首先是不能直接删除节点的以为他具备关系因此具体的命令如下 MATCH (n:Character{Name:SunWukong})-[r]-(m) delete r return Type(r) MATCH (n:Character{Name:SunWukong}) Delete (n)执行完成后人物图谱关系如下图所示 当孙悟空离开西游团队后团队进入了新的员工六耳猕猴唐僧作为它的Master猪八戒作为它的同事新的节点及关系添加的具体命令如下 CREATE (tang:Character {NodeID: 6, Name: 六耳猕猴, Title: 六耳猕猴}) MATCH (master:Character {Name: TangSeng}),(student:Character {Name: 六耳猕猴}) CREATE (student)-[:MasterOf]-(master) MATCH (companion1:Character {Name: 六耳猕猴}),(companion2:Character {Name: ZhuBajie}) CREATE (companion1)-[:CompanionOf]-(companion2)执行完成后新的团队组织关系如下 总结以上是Neo4j的简单增删改查对于熟练掌握Neo4j数据库来说还有很长的路要走和分析后续需要在项目中不断学习和锤炼自己。
http://www.w-s-a.com/news/440030/

相关文章:

  • 企业网站优化问题接单app平台有哪些
  • 怎么做网站后缀识别符号才不会变什么是电子商务网站建设
  • 中山 五金 骏域网站建设专家专门用来制作网页的软件是什么
  • 怎么做刷东西的网站数据分析软件工具有哪些
  • 官方购物网站正品交易网站域名
  • lol网站建设seo 网站太小
  • 网站建设销售职责手机网站制作软件
  • 福州百度企业网站seo如何在电脑上登录wordpress
  • 开发区全力做好网站建设网络广告营销成功案例
  • 114网站建设高并发系统架构
  • php网站打开一片空白wordpress中文广告插件下载
  • 怎样建自己的网站免费的百度关键词排名点击
  • 医院网站建设的特点怎么查看网站百度快照
  • 网站 如何备案一般网站开发公司
  • 做网站的公司 贵阳郑州新像素ui设计培训收费
  • 温州网站建设公司电话给个免费的网址
  • 个人做电子商务网站备案软考高级
  • 淘宝客需要自己做网站吗四川遂宁做网站的公司
  • 编写网站策划书缘魁上海网站建设
  • 梧州外贸网站推广设计wordpress 上传 七牛
  • 增加网站备案千灯做网站
  • 深圳做网站的公php做简易网站
  • 徐州哪家做网站好商业空间设计效果图
  • 重庆建网站cqiezscom大学毕业做网站插画师好吗
  • 在门户网站做产品seo怎么样做网站管理员
  • 动画做视频在线观看网站字体安装+wordpress
  • vs2015网站开发做珠宝建个网站推广怎么样
  • 大桥外语官方网站星做宝贝佛山微信网站开发
  • 河南建设网站公司哪家好怎样做一家网站
  • 安阳市哪里做网站建设网站流量怎么赚钱