如何使用 gremlin (Apache TinkerPop) 在图形数据库中搜索顶点?

How does searching for a vertex happen in graph databases using gremlin (Apache TinkerPop)?

我正在为我的数据建模,例如 ->

data: [
 {
  id:"123",
  type:"a",
  attributes: [...]
 },
 {entity 2 ...},
 {entity 3 ...},
 ...
]

有没有我可以使用的 gremlin 查询 fetch/get 按类型和 id 而不仅仅是 id 的顶点? 如果不是,是不是还要遍历搜索,如果是,性能会怎样?

Gremlin 中的实体类型称为 Label

要通过 ID 获取顶点并验证它是否具有特定标签,您可以 运行 查询:

g.V('123').hasLabel('a').next()

如果类型只是常规 属性(属性),您可以 运行:

g.V('123').has('type', 'a').next()

性能取决于实现,但在任何情况下通过 id 获取顶点都应该是 O(1)。