我想创建一个海王星数据库,并将数据转储到它。我将历史数据从 DynamoDB 下载到 S3,这些文件为 csv 格式。这些 csv 中的标题如下:
~id, someproperties:String, ~label
然后,我需要通过 lambda 实现对这个 neptune db 的实时流式传输,在 lambda 函数中,我会检查一个顶点(或边)是否存在,如果存在,我将更新顶点(或边),否则我创建一个新的。在python中,我的实现是这样的:
g.V().hasLabel('Event').has(T.id, event['Id']).fold().coalesce(unfold(), addV('Event').property(T.id, event['Id'])).property(Cardinality.single, 'State', event['State']).property('sourceData', event['sourceData']).next()
在这里我有一些问题:
在实时流中,我需要查询是否已经存在带有id的顶点,所以我需要查询历史数据的节点,那么可以 has(T.id, event['Id'])
这样做吗?还是我应该只使用 has(id, event['Id'])
or has("id", event['Id'])
?
我正在使用g.V().has('Event', T.id, event['Id'])
而不是 g.V().hasLabel('Event').has(T.id, event['Id'])
,但得到了类似的错误cannot local NeptuneGraphTraversal.has()
。这两个查询是一样的吗?
皈依舞
相关分类