У меня есть эта база данных:
Clients => Incident => File => Filename
- Клиенты имеют идентификатор
- Инциденты имеют идентификатор и свойство reportsOn
- Файлы имеют идентификатор иfileSize, mimeType, свойство malware
- Имена файлов имеют идентификатор
- У клиента есть исходящий Edge to Incident (сообщается), у инцидента есть исходящий Edge to file (containsFile), у файла есть исходящий Edge toимя_файла (hasName).
Вот некоторые примеры данных:
g.addV('client').property('id','1').as('1').
addV('incident').property('id','11').property('reportedON', '2/15/2019 8:01:19 AM').as('11').
addV('file').property('id','100').property('fileSize', '432534').as('100').
addV('fileName').property('id','file.pdf').as('file.pdf').
addE('reported').from('1').to('11').
addE('containsFile').from('11').to('100').
addE('hasName').from('100').to('file.pdf').iterate()
Я хочу знать, какие клиенты имеют одинаковые идентификаторы файлов в своих инцидентах.Например, clientOne сообщил об инциденте, который содержит File с идентификатором файла 100, а clientTwo сообщил об инциденте, который также содержит файл с идентификатором файла 100.
Каков наилучший запрос для получения этого результата.Результатом можно манипулировать с помощью кода C #, если невозможно получить результат непосредственно из gremlinquery.