我有一个顶点" A"连接到顶点" B"和" C"。
我想查询A,附带B和C的记录ID的附加列表。
属性的外观示例:
CaptureSession
我想要一个给我的A查询:
A:
{
"@rid": "#1:0",
"property": "ValueForA"
}
B:
{
"@rid": "#2:0",
"property": "ValueForB"
}
C:
{
"@rid": "#2:1",
"property": "ValueForC"
}
我更愿意只用投影来做到这一点。它适用于B和C中的任何自定义字段,但对于@rid,我得到一个链接(为什么会出现这种不一致?)。
我试过了:
{
"@rid": "#1:0",
"property": "ValueForA",
"connected": ["#2:0", "#2:1"]
}
这正是我想要的,但列表中的rids是记录的链接,而不仅仅是rids。
和
SELECT @rid, *, out().@rid as connected FROM #1:0
给出了:
SELECT @rid, *, out().@rid.asString() as connected FROM #1:0
其中connected属性只是一个字符串。
可能(希望?)是@rid和其他属性不一致的原因。正如我所写,如果@rid代替" id",第一个例子可以正常工作。无论如何,我想知道一个简单的方法,因为我觉得应该很容易做到这一点。
更新
在上面的示例中添加id作为属性示例是误导,因为它可能以某种方式暗示它是唯一的(虽然我从未说过),所以我删除了它。我只添加它们以保持3条记录分开。但是,record-id是用作分隔上面顶点的唯一id的内容,因此不可能使用记录的任何属性。为了进一步说明,记录可以具有任意属性。不仅仅是上面给出的例子。
同样,第一个问题是,是否可以使用投影?
进一步的评论:我觉得很奇怪,如果我做了一个房产,我可以很容易地做到这一点"摆脱"为每条记录保存与@rid完全相同的记录ID。为什么我必须这样做(我不会这样做),以便使它易于使用。
UPDATE2
我还希望能够同时定位多个顶点并为每个顶点附加连接。我已经使用投影为许多属性做了这个(但不是@rid)。