2012-07-31 158 views
0

我正在使用py2neo访问neo4j数据库。我正在从文本文件中的数据加载图形。py2Neo投掷py2neo.rest.NoResponse异常

由于我的数据集有大约一百万个节点,加载整个数据集需要相当长的时间。之间的某处,代码会抛出py2neo.rest.NoResponse。我曾尝试多次运行代码。它在不同的点失败。我在错误中看不到任何模式。我的意思是我没有看到由于文件中的数据而导致的任何错误,或者它没有在文件中的同一点上失败。我从我的日志文件知道这一点。

错误堆栈跟踪如下:

Traceback (most recent call last): 
    File "C:\Users\darshan.hegde\workspace\movie_lens_loader\src\load_movie_lens_data.py", line 100, in <module> 
    main() 
    File "C:\Users\darshan.hegde\workspace\movie_lens_loader\src\load_movie_lens_data.py", line 97, in main 
    LMLD.load_ratings_data(ratings_file_path) 
    File "C:\Users\darshan.hegde\workspace\movie_lens_loader\src\load_movie_lens_data.py", line 71, in load_ratings_data 
    user_node.create_relationship_to(movie_node, "rated", {"stars": ratings.stars}) 
    File "C:\Python26\lib\site-packages\py2neo\neo4j.py", line 581, in create_relationship_to 
    'data': properties 
    File "C:\Python26\lib\site-packages\py2neo\rest.py", line 252, in _post 
    return self._request('POST', uri, json.dumps(data), **kwargs) 
    File "C:\Python26\lib\site-packages\py2neo\rest.py", line 240, in _request 
    raise NoResponse(uri) 
py2neo.rest.NoResponse: u'http://localhost:7474/db/data/node/16088/relationships' 

有谁穿过同样的错误来了?请让我知道解决方案。

我不确定这些信息是否有帮助。我使用以下版本:的Python 2.6.6与py2neo,你有py2neo-1.2.15

回答

3

对不起问题。在这种情况下很难看到可能导致错误的原因,因为您认为它在重负载下随机重复发生。

我的猜测是,你正在看到某种形式的资源饱和,并达到了一个限制,从而阻止了任何进一步的HTTP连接。我最近看到了一些与旋风有关的问题,你很可能会看到另一个例子。看起来Windows和Tornado特别糟糕。

我目前正在py2neo的替代HTTP引擎,这可能会帮助你的情况。敬请期待,希望您的体验可能会改善!

干杯, 尼日尔

+0

感谢您的响应快速响应。期待新的HTTP引擎的下一个版本。 – darshan 2012-08-08 06:55:50

+1

尝试使用py2neo 1.3.0 - 龙卷风已被剥离出来,取而代之的是一个httplib变体,它应该更加可靠。 – 2012-08-17 11:00:43

+0

谢谢奈杰尔。我发现我的情况有什么问题。正如我所提到的,我需要很长时间才能将数据加载到neo4j。在我的笔记本电脑之间的某处用于进入某种注销或省电模式,并可能关闭打开或关闭网络模块的套接字,但当py2neo尝试发布或获取该网址时,将不会打开套接字在服务器上。这就是为什么随机发生错误的原因。但是我发现以前的版本有点慢,反正我会继续使用新版本。感谢更新。 – darshan 2012-08-22 12:12:36