g
.addV('DEVICE').as('DEVICE_1').property('uid', '1').property('partition_key', '1')
.addV('DEVICE').as('DEVICE_2').property('uid', '2').property('partition_key', '1')
.addV('FILE').as('FILE_A').property('uid', 'A').property('partition_key', '1')
.addV('FILE').as('FILE_B').property('uid', 'B').property('partition_key', '1')
.addV('FILE').as('FILE_C').property('uid', 'C').property('partition_key', '1')
.addV('FILE').as('FILE_D').property('uid', 'D').property('partition_key', '1')
.addV('FILE').as('FILE_E').property('uid', 'E').property('partition_key', '1')
.addV('FILE').as('FILE_F').property('uid', 'F').property('partition_key', '1')
.addV('ISSUE').as('ISSUE_A').property('uid', 'A').property('partition_key', '1')
.addV('ISSUE').as('ISSUE_B').property('uid', 'B').property('partition_key', '1')
.addV('ISSUE').as('ISSUE_C').property('uid', 'C').property('partition_key', '1')
.addE('DEVICE_FILE').from('DEVICE_1').to('FILE_A')
.addE('DEVICE_FILE').from('DEVICE_1').to('FILE_B')
.addE('DEVICE_FILE').from('DEVICE_1').to('FILE_C')
.addE('DEVICE_FILE').from('DEVICE_1').to('FILE_D')
.addE('DEVICE_FILE').from('DEVICE_1').to('FILE_E')
.addE('DEVICE_FILE').from('DEVICE_2').to('FILE_A')
.addE('DEVICE_FILE').from('DEVICE_2').to('FILE_B')
.addE('DEVICE_FILE').from('DEVICE_2').to('FILE_D')
.addE('DEVICE_FILE').from('DEVICE_2').to('FILE_E')
.addE('ISSUE_FILE').from('ISSUE_A').to('FILE_A')
.addE('ISSUE_FILE').from('ISSUE_A').to('FILE_B')
.addE('ISSUE_FILE').from('ISSUE_A').to('FILE_D')
.addE('ISSUE_FILE').from('ISSUE_A').to('FILE_E')
.addE('ISSUE_FILE').from('ISSUE_B').to('FILE_A')
.addE('ISSUE_FILE').from('ISSUE_B').to('FILE_B')
.addE('ISSUE_FILE').from('ISSUE_B').to('FILE_C')
.addE('ISSUE_FILE').from('ISSUE_C').to('FILE_A')
.addE('ISSUE_FILE').from('ISSUE_C').to('FILE_B')
.addE('ISSUE_FILE').from('ISSUE_C').to('FILE_F')
For Issue A it should return Device 1 and 2
For Issue B it should return only Device 1 since it's the only one with files ABC