繁体   English   中英

对OrientDB中不同边缘的属性进行性能计算

[英]Perfoming calculations on properties from different edges in OrientDB

我有一个独特的问题,我想根据不同边沿返回的值进行计算,这似乎不适用于我。

我图的功能是跟踪人们对Magic:Gathering卡的收藏。 请使用该图作为解决我的问题的例证。

图形

我想以#8:0为起点,看看哪个牌组( MDeck )拥有我拥有的牌( MCard ),并计算出我已经在集合中拥有的牌组的百分比。 我的查询开始像这样:

SELECT FROM (SELECT FLATTEN(out[label="has"]) FROM #8:0) WHERE in.in.size() > 1

这是为了获得属于卡组的我拥有的卡。 接下来,如果我的某张卡牌多于卡组上的卡牌,我只会计算所需的卡,因此我必须使用MIN()。 这是出现问题的地方:

SELECT
MIN(UNION(in.in[label="includes"].qty, qty))
FROM (
    SELECT
    FLATTEN(out[label="has"])
    FROM #8:0
)
WHERE in.in.size() > 1

我以为这可以解决问题,但它只是返回null。 我确保所有数量字段都是整数。 我想念什么吗?

谢谢,

拉蒙

您是否有一个公共数据库,可以在其中使用OrientDB控制台或Studio执行查询?

如果不能,您是否可以在这里报告上一次查询的中间结果? 例如:

SELECT
in.in[label="includes"].qty
FROM (
    SELECT
    FLATTEN(out[label="has"])
    FROM #8:0
)
WHERE in.in.size() > 1

接着:

SELECT
UNION(in.in[label="includes"].qty, qty)
FROM (
    SELECT
    FLATTEN(out[label="has"])
    FROM #8:0
)
WHERE in.in.size() > 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM