您可以使用:
创建示例图g = TinkerGraph.open().traversal()
g.addV('customer_entity').property('telephone', '969874293').
addV('customer_entity').property('telephone', '987654145').
addV('customer_entity').property('telephone', '954682174')
g.addV('membership_card').property('Card_No_', '969874293').
addV('membership_card').property('Card_No_', '190019688').
addV('membership_card').property('Card_No_', '954682174')
您可以添加phone_CDP顶点:
g.V().hasLabel('customer_entity', 'membership_card').
coalesce(values('telephone'),values('Card_No_')).as('phid').dedup().
addV('phone_CDP').property('phoneId', select('phid')).elementMap()
==>[id: 12,label:phone_CDP,phoneId:969874293]
==>[id:14,label:phone_CDP,phoneId:987654145]
==>[id:16,label:phone_CDP,phoneId:954682174]
==>[id:18,label:phone_CDP,phoneId:190019688]
你可以添加边缘:
g.V().hasLabel('customer_entity', 'membership_card').as('vfrom').
coalesce(values('telephone'),values('Card_No_')).as('phid').
V().has('phoneId').as('vto').values('phoneId').where(eq('phid')).
select('vfrom').addE('alias').to('vto')
= =在e [20] [0-alias→12]
= =在e [21] [14] 2-alias→
= =在e [22] [4-alias→16]
= =在e [23] [12] 6-alias→
= =在e [24] [18] 8-alias→
= =在e [25] [10-alias→16]