如何 return NULL/empty space 当预期的 属性 在某些顶点/边中不存在时

How to return NULL/empty space when the expected property doesn't exist in some of verxtes /edges

我收到以下错误,因为某些顶点没有预期的 属性。

The property does not exist as the key has no associated value for the provided element

查询:-

get_g().V().hasLabel(search_vertex).has(T.id, TextP.containing(search_text)).limit(limit). 
        as_('property_value').inE('owns').outV().as_('id', 'name')
        .select('property_value', 'id', 'name').by(T.id).by(T.id).by('name').toList()
     

如何避免异常和 return NULLempty space,如果预期的 属性 不存在

在 3.5.0 之前的 TinkerPop 版本中,您可以使用 coalesce()(详细信息 here) and constant() (details here)步骤 return 在值不存在的情况下使用特定值如下所示:

gremlin> g.V().as('a').select('a').by(coalesce(values('age'), constant('foo')))
==>29
==>27
==>foo
==>32
==>foo
==>35

在 3.5 之后的版本中,这不再是必需的,因为 null 现在将为这些值 returned,假设数据库支持它,如下所示:

gremlin> g.V().as('a').select('a').by(values('age'))
==>29
==>27
==>null
==>32
==>null
==>35

可以在 Gremlin 用户组的 post 中找到有关此更改的其他详细信息:https://groups.google.com/g/gremlin-users/c/aoaA25H1IE0/m/gTu1MqR1AQAJ