我有两个类:Identity和User,边缘从User到Identity。我需要构造一个SQL查询,它将获取User RID以及Identity字段中的一些属性。
例如,我的Identity类具有emailAddress,firstName和lastName属性。我的用户可以有多个传出边缘来识别记录。
但是,此声明无法按预期工作:
SELECT expand(in()), emailAddress, firstName, lastName from Identity where email="abcd@temp.com"
上面的结果只是expand的输出(in())
我是不是要做两个单独的调用/查询,一个是从Identity获取道具,另一个是使用扩展功能?
答案 0 :(得分:4)
你可以跳到边缘然后你进入/退出身份和用户参考,然后进行这样的投影
select out.emailAddress, out.firstName, out.lastName from (SELECT expand(inE()) from Identity where email="abcd@temp.com")
答案 1 :(得分:1)
作为替代方案,此select语句允许您从User和Identity中选择属性。
在SELECT子句中,您可以通过在 outV('用户')。属性和/或 inV(' Identity&#)前面添加前缀来获取任何属性39。)强> .property
在WHERE子句中,您可以在任何属性上搜索前缀 outV('用户')。属性和/或 inV('身份& #39;)强> .property
SELECT
outV('User').firstName as name,
inV('Identity').email as email,
somePropertyFromEdgeName as prop
FROM EdgeName //name of the edge between User and Identity
WHERE outV('User').firstName = 'John'
or inV(Identity').email = '...'
// etc....
ORDER BY email asc, prop desc