python 2to3.py,python2to3怎么使用

  python 2to3.py,python2to3怎么使用

  连接Neo4j数据库节点的建立节点之间关系的建立关系属性赋值以及属性值的更新通过属性值查找节点/关系通过节点/关系查找相关联的节点/关系直接执行Cypher语句(运行)连接二级数据库。

  要通过python操作secondary,你首先Neo4j安装py2neo,py 2 neo可以通过pip直接安装。

  pip安装py2neo

  安装完成后,打开pycharm,调用py2neo。

  Py2neo导入图形,节点,关系neo _ graph=graph( 3358 localhost:7474 ,用户名= secondary ,密码= secondary )。Neo _ graph是我们建立的二级连接。中学4的服务器安装后,默认端口号为7474,所以本地主机为‘http://localhost:7474’。

  默认的用户名和密码是次要的,但是您也可以在浏览器中输入http://localhost:7474。首次输入时,系统会提示您更改密码。节点的建立

  一个节点的建立需要使用py2neo。节点建立节点时,需要定义其节点类型(标签)和一个基本属性(属性,包括property_key和property_value)。下面的代码为。

  Test _ node _ 1=node (person ,name= test _ node _ 1) #注意:不要在此处添加“label=”,否则标签将显示为属性,而不是标签test_node_2=Node(Person ,Name= test_node_2) neo _ graph。创建(测试节点1)新图形。Create (test _ node _ 2)这两个节点的类型(label)都是Person,都以property_key为名称,property_value为‘test’。

  节点间关系的建立节点间的关系是有方向的,所以建立关系时必须定义一个起始节点和一个结束节点。值得注意的是,起始节点可以和结束节点是同一个点,此时的关系是这个点指向自己。

  node _ 1 _ call _ node _ 2=Relationship(Test _ node _ 1, CALL ,Test _ node _ 2)node _ 1 _ CALL _ node _ 2[ count ]=1 node _ 2 _ CALL _ node _ 1=Relationship(Test _ node _ 2, CALL ,Test _ node _ 1)node _ 2 _ CALL _ node _ 1[ count ]=2 neo _ graph . create(node _ 1 _ CALL _ node _ 2)neo _ graph . create(node _ 2 _ CALL _ node _ node _ 1)如上面代码所示,两个关系,关系的类型是“CALL ”,两个关系的属性count的值都是1。

  注意:如果建立关系时开始节点或结束节点不存在,则在建立关系的同时建立该节点。

  节点/关系的属性分配和属性值的更新。当建立节点和关系时,节点和关系的属性的初始分配已经有了相应的代码。这里主要讲一下如何更新一个节点/关系的属性值。

  我们以关系构建中的node_1_call_node_2为例,在其计数上加1,然后更新到图数据库中。

  node _ 1 _ call _ node _ 2[ count ]=1 neo _ graph . push(node _ 1 _ call _ node _ 2)使用push函数更新属性值。

  按属性值查找节点和关系(Find,find_one)通过find和find_one函数,可以根据类型、属性和属性值查找节点和关系。

  例子如下:

  find _ code _ 1=neo _ graph . find _ one(label= Person ,property_key=name ,property_value=test_node_1 )打印find_code_1[name]find和find_one的区别在于:

  find_one的返回结果是一个具体的节点/关系,可以直接查看其属性和值。如果没有这样的节点/关系,则返回None。

  find返回的结果是一个游标cursors,所有找到的节点/关系都必须通过循环来检索。

  通过节点/关系找到相关的节点/关系。如果您已经确定了一个节点或关系,并且想要找到它的相关关系和节点,那么您可以使用match和match_one。

  find _ relationship=neo _ graph . match_one(start _ node=find _ code _ 1,end_node=find _ code _ 3,双向=false) printfind _ relationship如上述代码所示,match和match _ one的参数至少包括start _ node、Relationship和end_node中的一个。

  双向参数的含义是指关系是否可以双向。

  如果为False,开始节点必须是start_node,结束节点必须是end_node。如果有关系参数,它必须遵循关系对应的方向。

  如果为真,则不需要关心方向,两个方向的数据都会返回。

  match _ relation=neo _ graph . match(start _ node=find_code_1,bidirectional=true)for I in match _ relation:print I I[ count ]=1 neo _ graph . push(I)如上面的代码所示,找到与find _ code _ 1相关的关系。

  match的参数中只写start_node。如果bidirectional的值为True,则不考虑方向的问题,返回以find_code_1为起始节点和结束节点的所有关系。

  如果双向的值为False,则只返回以find_code_1为起始节点的所有关系。

  直接执行Cypher语句(运行)

  可以使用run方法执行Cypher语句,游标cursor返回。游标必须遍历才能显示结果。

  find _ rela=neo _ graph . run( match(n:Person { name: test _ node _ 1 })return n )for I in find _ rela:print I

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: