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

网站收录不稳定权威的合肥网站建设

网站收录不稳定,权威的合肥网站建设,温州新公司做网站,公司网站建设需求表在neo4j中创建结点和关系 创建结点 创建电影结点 例如#xff1a;创建一个Movie结点#xff0c;这个结点上带有三个属性{title:‘The Matrix’, released:1999, tagline:‘Welcome to the Real World’} CREATE (TheMatrix:Movie {title:The Matrix, released:1999, tagl…在neo4j中创建结点和关系 创建结点 创建电影结点 例如创建一个Movie结点这个结点上带有三个属性{title:‘The Matrix’, released:1999, tagline:‘Welcome to the Real World’} CREATE (TheMatrix:Movie {title:The Matrix, released:1999, tagline:Welcome to the Real World})创建人物结点 例如创建一个Person节点结点带有两个属性{name:‘Keanu Reeves’, born:1964}。 CREATE (Keanu:Person {name:Keanu Reeves, born:1964})创建关系 创建人物之间的关系的语句使用了箭头运算符。例如(Keanu)-[:ACTED_IN {roles:[‘Neo’]}]-(TheMatrix)语句表示创建一个演员参演电影的关系演员Keanu以角色Neo参演ACTED_IN了电影TheMatrix。 创建人物之间的关系 CREATE(Keanu)-[:ACTED_IN {roles:[Neo]}]-(TheMatrix),(Carrie)-[:ACTED_IN {roles:[Trinity]}]-(TheMatrix),(Laurence)-[:ACTED_IN {roles:[Morpheus]}]-(TheMatrix),(Hugo)-[:ACTED_IN {roles:[Agent Smith]}]-(TheMatrix),(LillyW)-[:DIRECTED]-(TheMatrix),(LanaW)-[:DIRECTED]-(TheMatrix),(JoelS)-[:PRODUCED]-(TheMatrix)使用python语言操作neo4j数据库 对于python开发者来说Py2neo库可以完成对neo4j的操作。 首先安装Py2neo建立数据库连接。Py2neo使用pip安装 pip install py2neo连接数据库 建立连接代码示例定义movie_db为待使用的neo4j连接[默认的账号密码均为“neo4j”若已修改则为新的我的密码已修改为“12345678”] # Graph(http://127.0.0.1:7474,auth(账号,密码)) import py2neo Movie_dbGraph(http://localhost:7474,auth(neo4j,12345678))后续添加结点时可能会报错 Cannot decode response content as JSON 此时只需要将连接语句修改为即指定连接数据库name‘neo4j’ Movie_dbGraph(http://localhost:7474,auth(neo4j,12345678),nameneo4j)建立结点、关系 建立结点时候要定义结点的标签和一些基本属性。 Node节点 基本语法 node_1Node*labels**properties Movie_db.create(node_1)注意代码中test_graph.create(node_1)的作用是将本地创建的node放入数据库中后面关系、路径等在本地创建以后均需要create。 node_1 Node(英雄,name 张无忌) node_2 Node(英雄,name 杨逍,武力值100) node_3 Node(派别,name 明教)# 存入图数据库 test_graph.create(node_1) test_graph.create(node_2) test_graph.create(node_3) print(node_1)Relationship:关系 基本语法 Relationship(start_node, type, end_node, **properties)例如建立两个测试的结点 test_node_1 Node(label person,nametest_node_1)# 头实体 test_node_2 Node(label movie,name test_node_2)# 尾实体 #Movie_db.create(test_node_2)#建立尾结点# 关系 relation Relationship(test_node_1, DIRECTED, test_node_2) # 创建关系连带创建节点 Movie_db.create(relation) 表示创建两个结点关系为test_node_1导演了,test_node_2。需要注意的是如果建立关系的时候起始结点不存在则建立关系的同时会建立这个结点。 Path:路径 基本语法 Path(*entities)注意entities是实体关系节点都可以作为实体。 例如 from py2neo import Path # 建一个路径比如按照该路径查询或者遍历的结果保存为路径 node_4,node_5,node_6 Node(name阿大),Node(name阿二),Node(name阿三) path_1 Path(node_4,小弟,node_5,Relationship(node_6, 小弟, node_5),node_6) Movie_db.create(path_1)print(path_1)* Subgraph:子图 子图是节点和关系的任意集合它也是 Node、Relationship 和 Path 的基类。 基本语法 Subgraph(nodes, relationships)空子图表示为None使用bool可以测试是否为空。参数要按数组输入如下面代码。 # 创建一个子图并通过子图的方式更新数据库 node_1 Node(英雄,name 张无忌) node_7 Node(英雄,name 张翠山) node_8 Node(英雄,name 殷素素) node_9 Node(英雄,name 狮王)relationship7 Relationship(node_1,生父,node_7) relationship8 Relationship(node_1,生母,node_8) relationship9 Relationship(node_1,义父,node_9) subgraph_1 Subgraph(nodes [node_7,node_8,node_9],relationships [relationship7,relationship8,relationship9]) Movie_db.create(subgraph_1) 删除结点 删除数据库中所有节点和关系 Movie_db.delete_all()其他删除方法如下删除的基础是查询但凡查询条件没错就不会删错 # 删除所有谨慎使用 # Movie_db.delete_all()# 按照节点id删除要删除某个节点之前需要先删除关系。否则会报错ClientError Movie_db.run(match (r) where id(r) 3 delete r) # 按照name属性删除先增加一个单独的节点 node_x Node(英雄,name 韦一笑) Movie_db.create(node_x) Movie_db.run(match (n:英雄{name:\韦一笑\}) delete n)# 删除一个节点及与之相连的关系 Movie_db.run(match (n:英雄{name:\韦一笑\}) detach delete n) # 删除某一类型的关系 Movie_db.run(match ()-[r:喜欢]-() delete r;)# 删除子图 # delete(self, subgraph)修改结点 改的基础也是查询查到就可以改因此本文的重点放在查询上下面示例简单修改。 # 改 # 将狮王的武力值改为100 node_9[武力值]100 # 本地修改完要push到服务器上哦 Movie_db.push(node_9)查询结点 Movie_db的nodes属性包含图当中的所有节点信息请查考下面代码 for node in Movie_db.nodes:print(node)也可以使用match方法来找到相应节点请参考以下代码 nMovie_db.nodes.match(Person) for i in n:print(i)当然也可以进行更为细致的匹配请参考以下代码 nMovie_db.nodes.match(Person,nameKeanu Reeves) for i in n:print(i)NodeMatcher NodeMatcher定位满足特定条件的节点。 基本语法 NodeMatchergraph.match(*labels, **properties)结合不同的方法可以取得不同的效果。主要方法表如下所示 方法名功能first()返回查询结果第一个Node没有则返回空all()返回所有节点where(condition,properties)对查询结果二次过滤order_by排序 # 定义查询 nodes NodeMatcher(Movie_db)# 单个节点按照label和name查询 ## 查询节点狮王 node_single nodes.match(英雄, name狮王).first() print(单节点查询\n,node_single )## 按照label查询所有节点 node_hero nodes.match(英雄).all() print(查询结果的数据类型:,type(node_hero))# 在查询结果中循环取值用first()取出第一个值 i 0 for node in node_hero:print(label查询第{}个为{}.format(i,node))i1## 按照name查询所有节点用all()取出所有值 node_name nodes.match(name张无忌).all() print(name查询结果,node_name)# get方法按照id查询节点 node_id nodes.get(1) print(id查询结果,node_id)NodeMatch NodeMatch基本用法 NodeMatch(graph, labelsfrozenset({}), predicates(), order_by(), skipNone, limitNone)可以看出NodeMatch的参数和NodeMatcher的参数完全不同。后面是可以加很多条件的包含的主要方法如下表 方法作用iter(match)遍历所匹配节点len(match)返回匹配到的节点个数all()返回所有节点count返回节点计数评估所选择的节点limit(amount)、 返回节点的最大个数order_by*fields按指定的字段或字段表达式排序。要引用字段或字段表达式中的当前节点请使用下划线字符where(*predicates, **properties)二次过滤 from py2neo import NodeMatch nodess NodeMatch(Movie_db,labelsfrozenset({英雄}))# 遍历查询到的节点 print(*15,遍历所有节点,*15) for node in iter(nodess):print(node) # 查询结果计数 print(*15,查询结果计数,*15) print(nodess.count()) # 按照武力值排序查询结果:注意引用字段的方式前面要加下划线和点_.武力值 print(*10,按照武力值排序查询结果,*10) wu nodess.order_by(_.武力值) for i in wu:print(i) RelationshipMatcher RelationshipMatcher:用于选择满足一组特定标准的关系的匹配器。 基础语法 relation RelationshipMatcher(Movie_db)from py2neo import RelationshipMatcher # 查询某条关系 relation RelationshipMatcher(Movie_db)# None表示any node哦不是表示空 print(*10,hate关系查询结果,*10) x relation.match(nodesNone, r_typehate) for x_ in x:print(x_) # 增加俩关系 re1_1 Relationship(node_101,情敌,node_102) re1_2 Relationship(node_102,情敌,node_103) test_graph.create(re1_1) test_graph.create(re1_2) # 情敌查询结果 print(*10,hate关系查询结果,*10) x relation.match(nodesNone, r_type情敌) for x_ in x:print(x_) RelationshipMatch 基本语法 RelationshipMatch(graph, nodesNone, r_typeNone, predicates(), order_by(), skipNone, limitNone)可以按照NodeMatch理解 参考 https://zhuanlan.zhihu.com/p/437824721
http://www.yutouwan.com/news/195817/

相关文章:

  • 捷信做单官方网站网页界面设计招聘
  • 酒业网站模板下载网站屏幕自适应代码
  • 北京企业网站开发费用网站建设 用户管理
  • 深圳专业网站制作费用河北秦皇岛建设局网站
  • 学网站开发有前途吗大连市建设工程信息网官网
  • 建设网站类型外贸网站如何推广
  • 合肥网站建设方案案例做网站为什么要域名 解析绑定
  • 网站建设维护费 会计科目如何给异地网站做镜像
  • 行政单位网站信息建设政策用html5做的静态网站网站
  • 怎么让人理解网站建设主题 wordpress
  • 兰州做网站 东方商易做微信网站的职位
  • 做刷单哪个网站找小白网站可以个人做吗
  • 机关网站源码律师网络推广
  • 杭州住房城乡建设网站查询做任务给钱的网站
  • 可以做装修效果图的网站有哪些深圳网站制作的公司网络服务
  • 学网站开发多少钱木樨园网站建设公司
  • 网站建设历程网页字体尺寸设计
  • 广州网站建设哪家好深深圳市建设局网站
  • 成都的汽车网站建设长治招聘网站建设
  • 最佳配色网站设计专业考研平面素材网站
  • 网站论坛建设全国企业信息公示官网
  • 深圳龙华公司哈尔滨网站建设优化公司
  • 可以做外贸的网站有哪些小型个人网站制作
  • 网站搜索排名优化怎么做网上买东西
  • 建一个网站的费用鞍山网上推广怎么弄?
  • 网站开发研究现状wordpress是是什么技术
  • 涡阳做网站郑州影视公司招聘
  • 网站建设怎样中英文后端开发和前端开发的区别
  • 网站设计制作哪种快一建论坛建工教育网
  • 企业网站排名技巧瑜伽wordpress模板