问题标签 [pyorient]

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 投票
1 回答
163 浏览

orientdb - pyorient 未从跨域连接到端口 2424 上的 OrientDB

我正在从 AWS 上的一个实例连接到我的 orientDB 到另一个实例:

db_open 调用只是挂起而没有连接或错误。我怀疑这是因为我从另一个 IP 连接。有没有解决的办法?我有 1 台服务器托管我所有的代码和 docker,但我的 orientDB 节点在分布式集群中运行,具有不同的 IP。

0 投票
1 回答
151 浏览

amazon-web-services - 在Orientdb中以分布式方式打开数据库

我正在尝试使用 orientdb 中的 pyorient 打开一个数据库,该数据库是在分布式模式下配置和启动的。但是数据库的打开并没有发生,因为该过程没有完成并且没有抛出任何错误。我可以使用 HTTP 端口 - 2480 打开和访问节点。但是当我尝试使用二进制端口 - 2424 时,我遇到了这个问题。

import pyorient client = pyorient.OrientDB("localhost", 2424) session_id = client.connect( "xxxx", "xxxxx") client.db_open( "orient_poc", "xxxx", "xxxx")

如何解决这个问题?

0 投票
1 回答
165 浏览

orientdb - 分布式中的 OrientDB 不断收到 ConcurrentModificationException

我正在使用 orientdb 社区版 2.2.9 和 pyorient 的二进制序列化程序(在开发分支中)。

我在 AWS 上运行了 3 个节点。

我只使用 1 个节点作为主节点进行写入/读取,其他节点用于读取和复制。

我已使用以下内容配置节点:

我没有使用 Java,所以文档中的 MVCC 示例并没有真正帮助我。

我也没有使用事务,我使用以下参数启动服务器:

我在文档中读到你不能再禁用 mvcc,所以我认为 mvcc 设置是无用的。

我使用 rabbitmq 和 celery 来排队任务。在正常模式下运行 orientDB 时,当我收到“ConcurrentModificationException”错误时,celery 将重试该任务并且通常会成功。在分布式模式下运行时,该任务一直失败,因为顶点版本似乎永远不会匹配。

不管我做什么,我都会不断收到“ ConcurrentModificationException ”。

我可以在配置中看到 mvcc 仍然处于启用状态。

我以为我尝试了文档建议的所有内容,但在分布式模式下运行的所有细微差别都分散在文档中,而不是在一个地方。很容易错过一些东西:(

我怎样才能避免这个问题?

0 投票
1 回答
230 浏览

python - 在 Pyorient 中导致问题的一般 Python Unicode / ASCII 转换问题

更新:我根据 Ivan Mainetti 的建议在 github 上打开了一个问题。如果你想在那里称重,它是:https ://github.com/orientechnologies/orientdb/issues/6757

我正在开发一个基于 OrienDB 的数据库并为其使用 python 接口。我已经很幸运了,但是在处理某些 unicode 字符时,我遇到了一个似乎是驱动程序(pyorient)的问题。

我上传到数据库的数据结构如下所示:

我已经在 OrientDB / pyorient 上完美地创建了数百条记录。但是,我认为问题不一定是特定于 pyorient 的问题,因为我认为它在特定记录上失败的原因是因为 Ono.absolute_address 元素具有 pyorient 不知何故窒息的 unicode 字符。

我要创建的记录的 Abs_address 为 /u/c/2/a1–2,但是当我将值传递给上面的数据结构时得到的节点是这样的:

我认为我的问题是python混合了unicode和ascii字符串/字符?我对python有点陌生并且没有声明类型,所以我希望这不是pyorient perse的问题,因为new_Node对象没有输出格式正确的字符串......?或者这是 pyorient 不喜欢 unicode 的一个实例?我正在把头发扯下来。任何帮助表示赞赏。

如果错误来自 pyorient 而不是某种文本编码,这里是 pyorient 相关信息。我正在使用以下代码创建记录:

这是我得到的错误:

该错误很奇怪,因为它表明后端数据库正在获取地址的空对象。显然它确实为这个“地址”创建了一个条目,但这不是我想要的。我不知道为什么带有 unicode 的地址字符串在数据库中为空...我可以通过 orientDB studio 使用我输入 new_Node 数据结构的确切字符串创建它...但我不能使用 python 来做同样的事情。

有人帮忙吗?

编辑:

感谢 Laurent,我将问题缩小到与 unicode 对象和 pyorient 有关的问题。每当我传递的变量是 unicode 类型时,pyorient 适配器就会向 OrientDB 数据库发送一个空值。我确定导致问题的值是一个 ndash 符号,Laurent 使用此代码帮助我用减号替换它

但是,当我这样做时,pyorient 会获取 unicode 对象,然后将其作为空值传递……这不好。我可以通过使用 str(...) 重铸字符串来解决这个短期问题,这似乎解决了我的直接问题:

. 问题是,我知道我的数据库数据中会有符号和其他不寻常的字符。我知道数据库支持 unicode 字符串,因为我可以手动添加它们或使用 SQL 语法来做我不能通过 pyorient 和 python 做的事情......我假设这是一个冒险的转换问题,但我不确定在哪里. 这似乎与这个问题非常相似:http ://stackoverflow.duapp.com/questions/34757352/how-do-i-create-a-linked-record-in-orientdb-using-pyorient-library

那里有pyorient人吗?蟒蛇之神?幸运的s0bs?=)

0 投票
1 回答
265 浏览

pyorient - PyOrientCommandException: - : while 测试类的存在 #221

这是 pyorient github 中已关闭问题#211 的摘录。虽然可能已经有了一些答案,但我在这里发布了这个错误,因为错误并不明显,并提供了一个使用 pyorient 和测试类是否存在的示例。所以这里是摘录:

我正在测试如何查询一个类的存在,所以我在这里玩了用作GRAPH 示例的 Animals db

然后,当使用 db_name 'Animals' 查询数据库时,我收到以下异常响应(它也发生在此处未描述的其他情况下):

我的查询以测试该类的存在:

完整的输出错误:

会不会像得到一个utf8解码无法识别的“影子”字符?我正在使用 Jupyter 笔记本上的代码运行 Ubuntu 16.04,ANACONDA python 发行版 3.5,pyorient v.1.4.9

有什么帮助吗?

0 投票
1 回答
472 浏览

orientdb - 如何使用 pyorient 从 User where name = 'Nicole' 的查询中检索 @rid 值

我还没有弄清楚,如何@rid使用 python 3.5 和 pyorient client.command 从记录元数据中检索值来运行这样的 SQL 查询。

假设我在client.command(query)pyorient 中使用以下查询创建了一个 User 类。为简单起见,此处仅显示查询调用:

让我们创建一个字典来保存最近创建的顶点的指针

现在我们添加一些顶点:

让我们看看 的价值rec['Alex']

比方说,我们想知道 Alex 的 @rid,以便以后可以使用它在其他类中创建 Edge。

如果我使用 orientdb studio 运行 quety,我可以看到 @rid:

在此处输入图像描述

但是,如果我使用 client.command 运行相同的查询,我会得到一个带有两个记录指针的列表。所以它与结果相同rec['Alex']

所以,如果我确实rec['Alex'][0].oRecordData要获取记录数据,我只会回来:

rid(1)当我创建一个新的顶点时,如何将它存储在一个变量中?

(2)当你知道的时候,我怎样才能找回记录,比如说财产name

0 投票
1 回答
746 浏览

orientdb - 如何使用 pyorient 驱动程序建立与 OrientDB 分布式数据库的远程连接?

Hej,我正在尝试在数字海洋上建立与我的 orientdb 服务器的远程连接。

但是,我尝试通过以下方式连接:

我收到以下错误PyOrientConnectionPoolException: Server sent empty string

我正在运行 pyorient v 1.5.4 和 Anaconda3 python 3.5 发行版。

有什么提示吗?

0 投票
0 回答
155 浏览

python - Pyorient SQL 批处理执行同时忽略错误

我做了很多研究,但找不到以下问题的简单解决方案。

我有一个 OrientDB 数据库,它有一个“MaltegoLink”类。MaltegoLink 有一个唯一索引以避免重复。

脚本本身遵循以下想法:

这个想法是通过将其作为批处理来加速对数据库的插入。

还有问题本身: 当存在重复边时,如何进行批量查询并跳过数据库提供的错误?

据我所知,OrientDB SQL 语法中没有允许在发生错误时继续的命令。

编辑:

好的,终于自己找到了某种解决方法。该方法增加了执行时间,但它仍然是有益的:

0 投票
0 回答
195 浏览

lucene - 如何通过选择空间类进行 ST_spatial 查询 ST_Within Orientdb

我试图了解如何使用 pyorient 在 Orientdb 2.2.17 中使用 LUCENE 空间查询。

我已经注意到如何从另一个类中选择位于多边形顶点内的点顶点类的所有属性。这是问题的直观表示,其中标签代表 station_names。

区域顶点类有两个属性:

  1. 姓名
  2. 坐标(嵌入式 OPolygon) LUCENE 索引

    CREATE CLASS Region EXTENDS V

    CREATE PROPERTY Region.name IF NOT EXISTS STRING

    CREATE PROPERTY Region.coordinates IF NOT EXISTS EMBEDDED OPolygon

    CREATE INDEX Region.coordinates ON Region(coordinates) SPATIAL ENGINE LUCENE

Points 顶点类,也有两个属性:

  1. 站名
  2. 坐标 (EMBEDDED OPoint) LUCENE 索引

    CREATE CLASS Point EXTENDS V

    CREATE PROPERTY Point.station_name IF NOT EXISTS STRING

    CREATE PROPERTY Point.coordinates IF NOT EXISTS EMBEDDED OPoint

    CREATE INDEX Point.coordinates ON Point(coordinates) SPATIAL ENGINE LUCENE

现在,添加区域多边形点:

添加点顶点:

我尝试了类似的东西及其变体但失败了,这是查询示例:

SELECT from Point WHERE ST_WITHIN(coordinates, ST_AsText(SELECT coordinates FROM Region where name='region01')) = true

我收到以下错误,我在查询上尝试了不同的方法但没有成功。

解析查询时出错:SELECT from Point WHERE ST_WITHIN(coordinates, ST_AsText(SELECT coordinates FROM Region where name='region01')) = true ^ 在第 1 行第 25 列遇到“”。期待其中之一:DB name="envlay- D b”

预期结果是检索多边形包含的 station_name=0 点。

非常感激任何的帮助。

;)

约贝尔

0 投票
0 回答
267 浏览

orientdb - 使用 PyOrient 创建数据库时出现“超时:超时”

我有一个 OrientDB 的本地实例(版本:2.2.20),我将它用作图形数据库。当我尝试从 DB Client 实例创建新数据库时,它会出现超时错误。代码如下所示,

客户端对象给了我其他现有的数据库,连接没有任何问题。请建议我处理它