如何从 gremlin 中的多个顶点获取属性
How to get properties from multiple vertexes in gremlin
如何从 gremlin 中的多个顶点获取属性。
从上图中,我需要从 user
收集 'name',从 email
顶点收集 email_id,从 phone_number
收集 phone 数字] 顶点。是否可以在一次查询中收集所有属性?
我尝试了以下查询,但它 returns email
和 phone_number
作为单独的项目
g.V().hasLabel('user').as('u').outE('owns')
.inV().hasLabel('email', 'phone_number').as('e', 'p').select('u', 'e', 'p').by(elementMap('name')).by(elementMap()).by(elementMap())
输出
{'u': {<T.id: 1>: '124848d5-f387-48eb-bbb7-ad193ef6070a', <T.label: 4>: 'user', 'name': 'Thirumal'}, 'e': {<T.id: 1>: '922f4ac1-9c6d-40fa-bac2-682e0f01673a', <T.label: 4>: 'phone_number', 'phone_number': '+918973697871'}, 'p': {<T.id: 1>: '922f4ac1-9c6d-40fa-bac2-682e0f01673a', <T.label: 4>: 'phone_number', 'phone_number': '+918973697871'}}
{'u': {<T.id: 1>: '124848d5-f387-48eb-bbb7-ad193ef6070a', <T.label: 4>: 'user', 'name': 'Thirumal'}, 'e': {<T.id: 1>: '2c3f90a4-d8bd-4cf5-9ff0-d4e3a6cf1190', <T.label: 4>: 'email', 'email': 'thirumal@enkindletech.com'}, 'p': {<T.id: 1>: '2c3f90a4-d8bd-4cf5-9ff0-d4e3a6cf1190', <T.label: 4>: 'email', 'email': 'thirumal@enkindletech.com'}}
此类问题通常由 project()
处理:
g.V().hasLabel('user').
project('name','email','phone').
by('name').
by(out('owns').hasLabel('email').values("email")).
by(out('owns').hasLabel('phone_number').values('phone_number'))
如何从 gremlin 中的多个顶点获取属性。
从上图中,我需要从 user
收集 'name',从 email
顶点收集 email_id,从 phone_number
收集 phone 数字] 顶点。是否可以在一次查询中收集所有属性?
我尝试了以下查询,但它 returns email
和 phone_number
作为单独的项目
g.V().hasLabel('user').as('u').outE('owns')
.inV().hasLabel('email', 'phone_number').as('e', 'p').select('u', 'e', 'p').by(elementMap('name')).by(elementMap()).by(elementMap())
输出
{'u': {<T.id: 1>: '124848d5-f387-48eb-bbb7-ad193ef6070a', <T.label: 4>: 'user', 'name': 'Thirumal'}, 'e': {<T.id: 1>: '922f4ac1-9c6d-40fa-bac2-682e0f01673a', <T.label: 4>: 'phone_number', 'phone_number': '+918973697871'}, 'p': {<T.id: 1>: '922f4ac1-9c6d-40fa-bac2-682e0f01673a', <T.label: 4>: 'phone_number', 'phone_number': '+918973697871'}}
{'u': {<T.id: 1>: '124848d5-f387-48eb-bbb7-ad193ef6070a', <T.label: 4>: 'user', 'name': 'Thirumal'}, 'e': {<T.id: 1>: '2c3f90a4-d8bd-4cf5-9ff0-d4e3a6cf1190', <T.label: 4>: 'email', 'email': 'thirumal@enkindletech.com'}, 'p': {<T.id: 1>: '2c3f90a4-d8bd-4cf5-9ff0-d4e3a6cf1190', <T.label: 4>: 'email', 'email': 'thirumal@enkindletech.com'}}
此类问题通常由 project()
处理:
g.V().hasLabel('user').
project('name','email','phone').
by('name').
by(out('owns').hasLabel('email').values("email")).
by(out('owns').hasLabel('phone_number').values('phone_number'))