当前位置:   article > 正文

neo4j python 开发并展示_在 Python 中使用 Neo4j

python neo4j前端展示代码

让我们直接看看代码。下面是一个完整的小型应用。这个程序允许添加新的名字与一个或者更多email地址相连接的以及提供了一个容易的方式来显示这些连接信息的一个命令行工具。没有参数的运行是显示使用模式,而且这个唯一的依赖只是需要一个本地未修改的Neo4j实例(instance)而已。

#!/usr/bin/env python

# -*- coding: utf-8 -*-

from __future__ import print_function

import sys

from py2neo import neo4j, node, rel

graph_db = neo4j.GraphDatabaseService()

class Person(object):

_root = graph_db.get_or_create_indexed_node("reference",

"contacts", "root")

@classmethod

def create(cls, name, *emails):

person_node, _ = graph_db.create(node(name=name),

rel(cls._root, "PERSON", 0))

for email in emails:

graph_db.create(node(email=email), rel(cls._root, "EMAIL", 0),

rel(person_node, "EMAIL", 0))

return Person(person_node)

@classmethod

def get_all(cls):

return [Person(person.end_node) for person in

cls._root.match("PERSON")]

def __init__(self, node):

self._node = node

def __str__(self):

return self.name + "\n" + "\n".join(" "

.format(email) for email in self.emails)

@property

def name(self):

return self._node["name"]

@property

def emails(self):

return [rel.end_node["email"] for rel in

self._node.match("EMAIL")]

if __name__ == "__main__":

if len(sys.argv) < 2:

app = sys.argv[0]

print("Usage: {0} add

[...]".format(app))

print(" {0} list".format(app))

sys.exit()

method = sys.argv[1]

if method == "add":

print(Person.create(*sys.argv[2:]))

elif method == "list":

for person in Person.get_all():

print(person)

else:

print("Unknown command") 在第09行上是第一行Py2neo代码,用来创建了一个

GraphDatabaseService对象。通过这个,我们就可以访问使用Neo4j server的大多数功能。可选一个URI传递到这个构造器里,尽管如果什么都没有提供,代而取之的是使用默认的本地参数。也就是说下面两行是完全相等的:

graph_db = neo4j.GraphDatabaseService()

graph_db = neo4j.GraphDatabaseService

("http://localhost:7474/db/data/")

第13行介绍了调用了get_or_create_indexed_node,它提供一种在图形里创建固定引用点的漂亮方式。传统的Neo4j索引允许节点和关系通过键值对访问,而在这个代码里我们使用了带连接的关键字和root值的引用索引实例。在第一次执行时,会创建一个新的节点,而且在随后的执行中,这个节点(即root)会复用(reused)。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/161303?site
推荐阅读
相关标签
  

闽ICP备14008679号