一:neo4j是什么
neo4j:Neo4j是一个高性能的,NOSQL图形数据库,有关于更多neo4j的资料出门右拐
二:python操作neo4j的实现
python中neo4j的操作可以利用驱动包或者py2neo包,
我采用py2neo第三方包实现以下简单功能,先建立一个neo4j的链接
对于neo4j的安装其实比较简单,这里就跳过
def__init__(self):
self.conn = Graph("http://localhost:7474",username="11111",password="11111")
节点和关系的创建
a = Node(label, **doc1)
b = Node(label, **doc2)
r2 = Relationship(b, ship, a)
self.conn.merge(r2,label=label)
更新节点属性
node.update(doc)
通过关系查找相关联的关系节点
selector = NodeSelector(self.conn)
query = '_.age=22'
persons = selector.select(label).where(query).order_by('_.' + order)
添加节点
obj = self.get(label, field, value)
tmp_obj = label()
tmp_obj.setAll(doc=doc)
obj.knows.add(tmp_obj)
print(list(obj.knows))
self.conn.push(obj)
删除节点,这里有坑,官方文档说删除节点必须先删除关系。当节点大于2时,比如a->b->c 这时官方文档中的栗子有报错。因此自己现在用这种方式删除
obj = self.get(label, src_field, src_value)
tar = self.get(label, desc_field, desc_value)
obj.knows.remove(tar)
self.conn.push(obj)
self.conn.delete(tar)
以上是python简单的neo4j的一些操作,毕竟是图形数据库,扒了点数据看看效果,这里直接上图
QQ图片20171122132212.png
菜鸟路过,如果不合理的地方,请大家多多指教