已知一个实体的id,能根据这个id 返回对应的tag吗?
MATCH 和 FETCH 都可以哈。
(root@nebula) [basketballplayer]> INSERT VERTEX school(name, found_time) VALUES "player100":("player100", timestamp("2000-04-01T08:00:00"));
Execution succeeded (time spent 4764/9233 us)
Wed, 17 Nov 2021 14:52:13 UTC
(root@nebula) [basketballplayer]> MATCH (v) WHERE id(v) == "player100" RETURN v
+------------------------------------------------------------------------------------------------------+
| v |
+------------------------------------------------------------------------------------------------------+
| ("player100" :school{found_time: 954576000, name: "player100"} :player{age: 42, name: "Tim Duncan"}) |
+------------------------------------------------------------------------------------------------------+
Got 1 rows (time spent 1255/2384 us)
(root@nebula) [basketballplayer]> FETCH PROP ON * "player100" YIELD tags(vertex)
+----------------------+
| tags(VERTEX) |
+----------------------+
| ["school", "player"] |
+----------------------+
Got 1 rows (time spent 2969/6115 us)
1 个赞
比如搜索的时候用到了关系限制,然后在最后一个管道里 yield v1,v2, v3。这样只能返回三个id,我需要返回id 的时候同时返回tag。这个支持吗?
可以的 tags() 函数能被 YIELD 的哈
GO 2 STEPS FROM "player102" OVER follow YIELD tags($$), properties($$).name
+----------------------+---------------------+
| tags($$) | properties($$).name |
+----------------------+---------------------+
| ["player"] | "Tony Parker" |
| ["player"] | "Manu Ginobili" |
| ["school", "player"] | "player100" |
| ["player"] | "LaMarcus Aldridge" |
| ["player"] | "Manu Ginobili" |
+----------------------+---------------------+
是引用符哈,这里我是表示目的地点
https://docs.nebula-graph.com.cn/2.6.1/3.ngql-guide/5.operators/5.property-reference/
$^ 引用起始点。更多信息请参见引用属性。
$$ 引用目的点。更多信息请参见引用属性。
$- 引用复合查询中管道符之前的语句输出结果。更多信息请参见管道符。
不过要注意下如果是双向拓展时候的情况
tags 里面可以是vertex的引用,不能是vertex 的id ,对不对?
知道了,多谢。
如果你觉得 wey 的回复解决了你的问题,记得勾选为【解决方案】方便后续的小伙伴遇到相似问题快速找到答案哈,谢谢 ysjiao
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。