我正在尝试开始一个使用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)
1条答案
按热度按时间zf9nrax11#
请告知您的 neo4j 版本和 neo4j 驱动程序版本。Bolt协议以前用于neo4j驱动程序1.7,而neo4j协议用于neo4j版本4.x。该协议相当于旧版本中的Bolt+Routing。然后,我尝试了您的代码,它运行得很好。请注意图像底部的db Aura URI。
要检查您的neo4j版本,请打开一个终端并输入“pip Freeze|grep neo4j”。这是我的驱动程序版本:
结果: