如果相等顶点的数量至少为 1,则显示查询(let 块)

Display the query if the number of equal vertex is at least 1 (let blocks)

我确实有这个查询,但它不起作用:

SELECT expand($Result)
let $Cri = (
  SELECT *
  FROM Cri
  WHERE libelle = "abbaye"
),
$Ontologie = (
  SELECT *
  FROM Ontologie
  WHERE libelle = "BlocModal_3_VISITE"
),
$Result = (
  SELECT *
  FROM $Ontologie
  WHERE $Cri.out().@rid = $Ontologie.out().out().out("Pertinent").@rid
)

首先,当我在不同的查询中执行时:

$Ontologie.out().out().out("Pertinent")

$Cri.out()

我发现了相同的结果,所以我不明白为什么它在 let 块中不起作用

其次,对于 $Result,我想 select 每个 $Ontologie 如果我至少有一次这个表达式为真:

 $Cri.out().@rid = $Ontologie.out().out().("Pertinent").@rid 

最后,我知道我不能做 WHERE 子句,因为它只会 select 与此表达式匹配的 $Ontologie。

我实际上已经尝试过 'IF' 但它似乎不起作用..

这是我的架构:

提前致谢。

let 的结果是一个列表,因此您不必使用 = 但包含

你可以使用

SELECT expand($Result)
let $Cri = ( SELECT * FROM Cri WHERE libelle = "abbaye"),
$Ontologie = ( SELECT * FROM Ontologie WHERE libelle = "BlocModal_3_VISITE"),
$Result = ( SELECT * FROM $Ontologie WHERE $Cri.out().@rid contains out().out().out().@rid)

希望对您有所帮助