在gremlin中仅提取csv格式的值

2024-10-02 16:30:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从图形数据库中提取值。我尝试使用下面的gremlinconsole命令,但它返回键值对,我们可以将其转换为list

%%gremlin

g.V().hasLabel('airport').limit(2).project('id','label','region','country').by(id()).by(label()).by('region').by('country').fold()

输出

[{'id': '1', 'label': 'airport', 'region': 'US-GA', 'country': 'US'}, {'id': '2', 'label': 'airport', 'region': 'US-AK', 'country': 'US'}]

预期产出:

'1', 'airport', 'US-GA', 'US'
'2', 'airport', 'US-AK', 'US'

or

[['1','airport','US-GA','US'], ['2','airport', 'US-AK','US']]


Tags: 命令id数据库图形bycountrylabelregion
1条回答
网友
1楼 · 发布于 2024-10-02 16:30:28

您可以使用values,而不是使用project。像projectvalueMap这样的步骤返回键:值映射,而values在其结果中不包含键

gremlin> g.V().
           hasLabel('airport').
           limit(2).
           local(union(id(),label(),values('region','country')).fold())

==>[1,airport,US,US-GA]
==>[2,airport,US,US-AK]

作为一种替代方法,您可以只向当前查询添加一个select(values),我想我更喜欢这样,因为它避免了需要localunion步骤

gremlin> g.V().
           hasLabel('airport').
           limit(2).
           project('id','label','region','country').
             by(id()).
             by(label()).
             by('region').by('country').
           select(values).
           fold()

==>[[1,airport,US-GA,US],[2,airport,US-AK,US]]

相关问题 更多 >