在Neo4j数据库上应用python包graph-tools / network x

时间:2017-07-21 06:49:52

标签: python neo4j neo4j-python-driver

我正在ICIJ的巴拿马论文上开始关于Neo4j数据库的自我探索项目。

目标:我想在Neo4j上运行的数据库上运行进行网络分析的python包,例如graph-tool,networkx。

因此,这些是我采取的步骤:

  1. 加载Neo4j驱动程序,我已加载
  2. 通过pycharm
  3. 连接到Neo-4j沙箱

    这是代码:

    from neo4j.v1 import GraphDatabase, basic_auth
    
    driver = GraphDatabase.driver(
        "bolt://34.239.248.240:33621",
        auth=basic_auth("neo4j", "fares-documentation-reproductions"))
    session = driver.session()
    
    # What are the Entities in Panama Papers?
    cypher_query = '''
    MATCH (e:Entity)
    RETURN e.name AS name LIMIT $limit
    '''
    
    results = session.run(cypher_query,
      parameters={"limit": 10})
    
    for record in results:
      print(record['name'])
    

    这是显示的错误消息:

    neo4j.exceptions.ServiceUnavailable:无法获取与地址的连接(host =' 34.239.248.240',port = 33621)

    我从沙盒网站获得了bolt / port / host: https://neo4j.com/sandbox-v2/

    另外,我试图检查neo4j驱动程序是否已正确安装,并运行了testdriver代码:

    from neo4j.v1 import GraphDatabase
    
    uri = "bolt://localhost:7474"
    driver = GraphDatabase.driver(uri, auth=("neo4j", "user"))
    
    def print_friends_of(name):
        with driver.session() as session:
            with session.begin_transaction() as tx:
                for record in tx.run("MATCH (a:Person)-[:KNOWS]->(f) "
                                     "WHERE a.name = {name} "
                                     "RETURN f.name", name=name):
                    print(record["f.name"])
    
    print_friends_of("Alice")
    

    显示了此错误代码:

    neo4j.exceptions.SecurityError:无法与' [SSL:UNKNOWN_PROTOCOL]未知协议(_ssl.c:749)建立安全连接'

    你可以建议吗?

1 个答案:

答案 0 :(得分:0)

我设法通过将图形数据库数据库直接下载到我的本地服务器来解决这个问题。螺栓端口是7474.