问题标签 [py2neo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4184 浏览

python - 是否可以使用 py2neo 遍历所有节点

有没有办法使用py2neo遍历neo4j数据库中的每个节点?

我的第一个想法是遍历GraphDatabaseService,但这没有用。如果没有办法用 py2neo 做到这一点,是否还有另一个 python 接口可以让我这样做?

编辑:我现在接受@Nicholas 的回答,但如果有人能给我一种返回生成器的方法,我会更新它。

0 投票
1 回答
251 浏览

python - py2Neo 抛出 py2neo.rest.NoResponse 异常

我正在使用 py2neo 访问 neo4j 数据库。我正在从文本文件中的数据加载图表。

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

错误堆栈跟踪如下:

有没有人遇到过同样的错误?请让我知道解决方案。

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

0 投票
5 回答
12410 浏览

python - 使用 Python 在 Neo4j 中执行批量添加/插入的最快方法?

当通过 py2neo for Python 使用 REST API 时,我发现 Neo4j 添加节点和关系/弧/边的速度很慢。我知道这是由于每个 REST API 调用都作为一个独立的事务执行。

具体来说,添加数百对具有它们之间关系的节点需要几秒钟,在 localhost 上运行。

在使用 Python 的同时显着提高性能的最佳方法是什么?

使用bulbflow 和Gremlin 会是构建批量插入事务的一种方式吗?

谢谢!

0 投票
1 回答
323 浏览

neo4j - py2neo 中的连接中止

我正在尝试 py2neo 的教程示例。有时,当我尝试创建索引或获取节点或与 neo4j 进行任何其他交互时,我会收到 SocketError: error(10053, 'An established connection was aborted by the software in your host')。有什么方法可以检测到 py2neo 库中的连接是否仍然存在,或者我是否应该在查询之前始终调用 GraphDatabaseService。

0 投票
2 回答
1070 浏览

python - 使用来自python的neo4J(服务器)和事务

我目前正在使用 python/flask 构建一个 web 服务,并希望在 neo4j 之上构建我的数据层,因为我的核心数据结构本质上是一个图形。我对 neo4j 为这种情况提供的不同技术感到有些困惑。尤其 :

  1. 我最初计划通过 py2neo 使用 REST Api,但缺少事务有点问题。

  2. “嵌入式数据库”neo4j 似乎不太适合我的情况。我想这在您使用批处理和一次性分析时很有用,并且不需要将数据库存储在与 Web 服务器不同的服务器上。

  3. 我偶然发现了 neo4django 项目,但我不确定这个项目是否提供事务支持(因为没有用于 python 的 neo4j 的本机客户端),以及在 django 本身之外使用它是否会出现问题。事实上,在查看了项目的文档之后,我觉得它有完全相同的限制,也就是没有事务(但是,当你可以在单个连接超时时破坏你的模型时,你怎么能构建一个真实的服务呢?) . 我什至不明白那个项目有什么用。

任何人都可以推荐任何东西吗?我觉得完全被困住了。

谢谢

0 投票
1 回答
432 浏览

neo4j - 使用 get_or_create_indexed_node() 来保证 neo4j 中的属性唯一性是否安全?用作外键

我将 python+py2neo 与 neo4j 一起使用,我将我的 SQL db 的自动分配的记录 ID 分配为我的 neo4j 数据库中的外键。

如果 neo 数据库中尚不存在具有此 ID 的节点,我将使用 get_or_create_indexed_node() 创建一个具有唯一 ID 的新节点。

...使用 py2neo 对 neo REST 接口的包装。这安全吗?我认为它可能仍然重复了几次,创建了具有相同 ID 的新节点。有没有更好的方法来做到这一点,确保 id 外键在同一索引的节点之间的唯一性?

0 投票
1 回答
202 浏览

python - rest.py :: httplib.HTTPException 中的 py2neo 错误作为错误:

我一直在本地机器上使用 py2neo,它运行良好。但是,当我在我的服务器上安装它时,在它说安装成功之前收到一个错误。

这是错误:

果然,当我尝试在我的服务器上使用 py2neo 时出现错误:无效语法(rest.py,第 345 行)

在本地我正在运行 python 2.7.2,而在服务器上我正在运行 2.5.2 这是 python 版本的已知问题吗?

0 投票
3 回答
1860 浏览

python - 当数据库更新时,WTForms 中的选项验证不会更新

我了解SelectFieldWTForms 中的方法采用choices具有形式的 can 参数...

我需要根据对数据库的调用来填充我的选择。我使用 neo4j 作为后端,所以我不能使用模型表单或其他内置解决方案来填充表单中的数据。

运行choices = get_list_of_things() 确实会产生一个有效的选择列表,很好,这基本上是有效的。

但是,它似乎永远不会更新事物列表,即使数据库更新并且我稍后返回该表单也是如此。如果我将东西添加到数据库并返回,我仍然会看到第一个东西列表。

0 投票
1 回答
438 浏览

python - py2neo 是否通过 REST API 访问 Neo4j 中的所有数据类型字符串?

我有一个在neo4j中创建一个新节点的表单查询:

cypher.get_or_create_indexed_node(index="person", key="name", value="Fred", properties={"level" : 1}

但是,当我查询 Fred 以检查他的属性时,他的 level = "1" /with quotes/. 似乎有些东西正在将他的值转换为字符串。这无关紧要——如果有必要,我可以在检索时转换它——除非我尝试进行密码查询,比如......

start b = node:person("*:*") RETURN b.level, ID(b) ORDER BY b.level desc SKIP 5 LIMIT 5;

...我注意到 b.level 没有按预期订购。我看到类似的东西:

当我期待类似的东西时:

我认为这是一个数据类型问题,因为参考手册显示了跳过/限制功能。

是所有值都是字符串,还是我应该添加其他内容来正确输入?

0 投票
1 回答
5788 浏览

wildcard - 如何在 Neo4j 的密码查询中对节点属性使用通配符

我正在尝试从 Neo4j 中的查询参数创建搜索,但似乎无法识别通配符。“*”不适用于节点属性上的通配符。

我的代码如下:

不幸的是,当我运行查询或切换到控制台时......

...我得到空值,就好像价格试图从字面上匹配“*”而不是匹配任何东西,就像通配符一样。例如,当我用 0 替换变量price时,一切都很好。

我不太明白,因为表明我可以这样说:

并且 "*" 作为 count(*) 和 node:indexes("*:*") 的通配符

如果这有什么不同,我正在使用 python 和 py2neo。