如何使用 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)。
我正在为我的数据建模,例如 ->
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)。