当前位置: 首页 > 后端技术 > Python

Py2Neo使用

时间:2023-03-26 11:23:06 Python

Neo4J本身是用Java语言编写的,Py2Neo为Python提供了相应的API来操作Neo4J。只需使用pip安装即可:pipinstallpy2neotoconnecttoDatabaseExtractedfrom:https://py2neo.readthedocs.io...需要传递一个URI给py2neo,格式为:://[[:<密码>]@]<主机>[:<端口>]如果没有指定URI,那么会自动连接本地端口7474。name参数用来表示数据库的名称,password传递密码。连接完成后,可以通过python将操作命令传递给neo4j:>>>frompy2neoimportGraph>>>sales=Graph("bolt+s://g.example.com:7687",name="sales",password='***')>>>sales.run("MATCH(c:Customer)RETURNc.name").to_data_frame()#需要安装pandas来操作数据库,除了直接使用写入和读取数据的运行命令,我们也可以通过面向对象的方式操作数据:>>>frompy2neoimportGraph,Node,Relationship>>>g=Graph()#建立连接>>>a=Node("Person",name="Alice",age=33)#创建一个新节点>>>b=Node("Person",name="Bob",age=44)>>>KNOWS=Relationship.type("KNOWS")#建立节点之间的关系>>>g.merge(KNOWS(a,b),"Person","name")#MERGE命令会自动使用事务来操作和获取节点(每个节点都会有隐式ID,并且此ID是唯一的):>>>graph=Graph()>>>len(graph.nodes)55691>>>graph.nodes[1234](_1234:Person{name:'Alice'})>>>graph.nodes.get(1234)(_1234:Person{name:'Alice'})Node类的初始化方法是__init__(self,*labels,**properties),因此position参数我们在实例化Node的时候传入的就是节点节点的标签名(一个节点可以有多个标签),关键字参数就是这个节点的属性。Relationship类初始化接收到的前三个(或两个)位置参数用于表示关系的起始节点、关系标签(可选)、结束节点,关键字参数表示关系的属性.事务取自:https://py2neo.readthedocs.io...事务是数据库非常重要的功能!创建事务并提交:>>>frompy2neoimportGraph,Node,Relationship>>>g=Graph()>>>tx=g.begin()>>>a=Node("Person",name="Alice")>>>tx.create(a)>>>b=Node("Person",name="Bob")>>>ab=Relationship(a,"KNOWS",b)>>>tx.create(ab)>>>tx.commit()>>>g.exists(ab)True查询摘自:https://py2neo.readthedocs.io...py2neo.matching模块提供了基于某些匹配节点和关系的功能标准。对于通过标签和属性对节点进行相等匹配:>>>g=Graph()>>>nodes=NodeMatcher(g)>>>keanu=nodes.match("Person",name="KeanuReeves").first()>>>keanuNode('Person',born=1964,name='KeanuReeves')我们使用RelationshipMatcher类来匹配关系。>>>g.nodes.match("Person",name="Alice").all()delete>>>g=Graph()>>>g.delete_all()#清除这个图数据库参考:https://www.jianshu.com/p/fec...http://py2neo.orghttps://segmentfault.com/a/11...