无法使用Neomodel连接到Neo4j Aura

mbyulnm0  于 2022-10-01  发布在  其他
关注(0)|答案(1)|浏览(263)

我正在尝试开始一个使用Neo4j Aura和neomodel的项目。我已经找到了这篇帖子,并按照建议设置了我的连接,但当我试图运行我的项目时,我得到了以下错误:
ValueError:需要URL格式:bolt://User:Password@Localhost:7687已获取neo4j+s://myuser:mypass@mydb.databases.neo4j.io

我已经检查了新模型代码,它专门检查了bolt协议,不会继续使用neo4j+s协议。这与我链接的帖子中的建议不同-我是不是遗漏了什么?如果能给出正确方向的提示,我将不胜感激。

以下是我尝试运行的示例代码:

import os

from neomodel import (config, StructuredNode, StringProperty, IntegerProperty,
                      UniqueIdProperty, RelationshipTo)
from dotenv import load_dotenv

if __name__ == '__main__':
    load_dotenv()

    user = os.environ['NEO4J_USERNAME']
    psw = os.environ['NEO4J_PASSWORD']
    uri = os.environ['NEO4J_URI']

    config.DATABASE_URL = 'neo4j+s://{}:{}@{}'.format(user, psw, uri)

    class Country(StructuredNode):
        code = StringProperty(unique_index=True, required=True)

    class Person(StructuredNode):
        uid = UniqueIdProperty()
        name = StringProperty(unique_index=True)
        age = IntegerProperty(index=True, default=0)

        # traverse outgoing IS_FROM relations, inflate to Country objects
        country = RelationshipTo(Country, 'IS_FROM')

    jim = Person(name='Jim', age=3).save()  # Create
    jim.age = 4
    jim.save()  # Update, (with validation)
zf9nrax1

zf9nrax11#

请告知您的 neo4j 版本和 neo4j 驱动程序版本。Bolt协议以前用于neo4j驱动程序1.7,而neo4j协议用于neo4j版本4.x。该协议相当于旧版本中的Bolt+Routing。然后,我尝试了您的代码,它运行得很好。请注意图像底部的db Aura URI。

要检查您的neo4j版本,请打开一个终端并输入“pip Freeze|grep neo4j”。这是我的驱动程序版本:

neo4j==4.4.5
neo4j-driver==4.3.6  
neomodel==4.0.8

结果:

相关问题