我想使用pyorient
API以有序的方式存储边缘。
根据过时的API page,有一些使用Java API的例子,例如。
person.createEdgeProperty(Direction.OUT, "Photos").setOrdered(true);
等效于SQL:
orientdb> CREATE PROPERTY out_Photos LINKLIST
orientdb> ALTER PROPERTY User.out_Photos CUSTOM ORDERED=TRUE
我想使用pyorient
做同样的事情,但我见过的文档都没有暗示这是可能的。
答案 0 :(得分:0)
一种hacky方法,可能是唯一的方法,是使用command
函数发出SQL查询。
对于已存在的边,这需要先删除所有边,然后创建LINKLIST边属性(参见下面的代码):
client.command("""
CREATE PROPERTY Project.in_WorkedOn LINKLIST
ALTER PROPERTY Project.in_WorkedOn CUSTOM ORDERED=TRUE
""")
然后添加所有边缘。默认情况下,排序将基于边缘创建顺序。
要设置顺序,请执行以下操作:
client.command("""
UPDATE #120:1 SET in_WorkedOn = [#228:4, #229:2, #228:3, #229:3]
""")