问题标签 [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.
python - 是否可以使用 py2neo 遍历所有节点
有没有办法使用py2neo遍历neo4j数据库中的每个节点?
我的第一个想法是遍历GraphDatabaseService
,但这没有用。如果没有办法用 py2neo 做到这一点,是否还有另一个 python 接口可以让我这样做?
编辑:我现在接受@Nicholas 的回答,但如果有人能给我一种返回生成器的方法,我会更新它。
python - py2Neo 抛出 py2neo.rest.NoResponse 异常
我正在使用 py2neo 访问 neo4j 数据库。我正在从文本文件中的数据加载图表。
由于我的数据集有大约一百万个节点,因此加载整个数据集需要很长时间。介于两者之间,代码抛出 py2neo.rest.NoResponse。我已尝试多次运行代码。它在不同的点上失败了。我在错误中看不到任何模式。我的意思是我没有看到由于文件中的数据导致的任何错误,或者它不在文件中的同一点失败。我从我的日志文件中知道这一点。
错误堆栈跟踪如下:
有没有人遇到过同样的错误?请让我知道解决方案。
我不确定这些信息是否有帮助。我正在使用以下版本:Python-2.6.6和py2neo-1.2.15
python - 使用 Python 在 Neo4j 中执行批量添加/插入的最快方法?
当通过 py2neo for Python 使用 REST API 时,我发现 Neo4j 添加节点和关系/弧/边的速度很慢。我知道这是由于每个 REST API 调用都作为一个独立的事务执行。
具体来说,添加数百对具有它们之间关系的节点需要几秒钟,在 localhost 上运行。
在使用 Python 的同时显着提高性能的最佳方法是什么?
使用bulbflow 和Gremlin 会是构建批量插入事务的一种方式吗?
谢谢!
neo4j - py2neo 中的连接中止
我正在尝试 py2neo 的教程示例。有时,当我尝试创建索引或获取节点或与 neo4j 进行任何其他交互时,我会收到 SocketError: error(10053, 'An established connection was aborted by the software in your host')。有什么方法可以检测到 py2neo 库中的连接是否仍然存在,或者我是否应该在查询之前始终调用 GraphDatabaseService。
python - 使用来自python的neo4J(服务器)和事务
我目前正在使用 python/flask 构建一个 web 服务,并希望在 neo4j 之上构建我的数据层,因为我的核心数据结构本质上是一个图形。我对 neo4j 为这种情况提供的不同技术感到有些困惑。尤其 :
我最初计划通过 py2neo 使用 REST Api,但缺少事务有点问题。
“嵌入式数据库”neo4j 似乎不太适合我的情况。我想这在您使用批处理和一次性分析时很有用,并且不需要将数据库存储在与 Web 服务器不同的服务器上。
我偶然发现了 neo4django 项目,但我不确定这个项目是否提供事务支持(因为没有用于 python 的 neo4j 的本机客户端),以及在 django 本身之外使用它是否会出现问题。事实上,在查看了项目的文档之后,我觉得它有完全相同的限制,也就是没有事务(但是,当你可以在单个连接超时时破坏你的模型时,你怎么能构建一个真实的服务呢?) . 我什至不明白那个项目有什么用。
任何人都可以推荐任何东西吗?我觉得完全被困住了。
谢谢
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 外键在同一索引的节点之间的唯一性?
python - rest.py :: httplib.HTTPException 中的 py2neo 错误作为错误:
我一直在本地机器上使用 py2neo,它运行良好。但是,当我在我的服务器上安装它时,在它说安装成功之前收到一个错误。
这是错误:
果然,当我尝试在我的服务器上使用 py2neo 时出现错误:无效语法(rest.py,第 345 行)
在本地我正在运行 python 2.7.2,而在服务器上我正在运行 2.5.2 这是 python 版本的已知问题吗?
python - 当数据库更新时,WTForms 中的选项验证不会更新
我了解SelectField
WTForms 中的方法采用choices
具有形式的 can 参数...
我需要根据对数据库的调用来填充我的选择。我使用 neo4j 作为后端,所以我不能使用模型表单或其他内置解决方案来填充表单中的数据。
运行choices = get_list_of_things() 确实会产生一个有效的选择列表,很好,这基本上是有效的。
但是,它似乎永远不会更新事物列表,即使数据库更新并且我稍后返回该表单也是如此。如果我将东西添加到数据库并返回,我仍然会看到第一个东西列表。
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 没有按预期订购。我看到类似的东西:
当我期待类似的东西时:
我认为这是一个数据类型问题,因为参考手册显示了跳过/限制功能。
是所有值都是字符串,还是我应该添加其他内容来正确输入?
wildcard - 如何在 Neo4j 的密码查询中对节点属性使用通配符
我正在尝试从 Neo4j 中的查询参数创建搜索,但似乎无法识别通配符。“*”不适用于节点属性上的通配符。
我的代码如下:
不幸的是,当我运行查询或切换到控制台时......
...我得到空值,就好像价格试图从字面上匹配“*”而不是匹配任何东西,就像通配符一样。例如,当我用 0 替换变量price
时,一切都很好。
我不太明白,因为这表明我可以这样说:
并且 "*" 作为 count(*) 和 node:indexes("*:*") 的通配符
如果这有什么不同,我正在使用 python 和 py2neo。