Star

已知点的属性值,怎样才能返回这个点的id?

如题,已知点的属性值,怎样才能返回这个点的id?怎么操作?请大佬们告知具体操作下

这需要使用nebula的索引功能。

    CREATE {TAG | EDGE} INDEX [IF NOT EXISTS] <index_name> ON {<tag_name> | <edge_name>} (prop_name_list)

    LOOKUP ON {<vertex_tag> | <edge_type>} WHERE <expression> [ AND | OR expression ...]) ] [YIELD <return_list>]

比如,一个名为 entity 的 tag, 它包含两个属性,nameage。如果希望查询 nameAmber 的点的 ID,则可以使用如下方式:
首先,创建 entity 索引:

CREATE TAG entity(name string, age int);

CREATE TAG INDEX entity_index ON entity(name, age);

INSERT VERTEX entity(name, age) VALUES 101:("Amber", 21);

LOOKUP ON entity WHERE entity.name == "Amber";

============
| VertexID |
============
| 101      |
------------

如果不使用 YIELD 指定返回结果, nebula 默认返回点 ID。
注意:

  1. 先创建 tag, 然后创建索引。
  2. 索引创建好后再插入数据,因为 rebuild index 目前还没支持。

浙ICP备20010487号