Как сохранить структуру данных графика в файл? Например, график вызова функции программного обеспечения - PullRequest
0 голосов
/ 13 апреля 2019

Я работаю над тем, как представить График вызовов функций программного обеспечения и сохранить структуру данных в файл.Я знаю, что в памяти граф может быть в виде списка смежности или ортогонального списка.Мой вопрос заключается в том, как сохранить структуру данных в файл, чтобы впоследствии ее можно было загрузить в память для дальнейших операций.Может ли он быть представлен в формате json или в базе данных Graph, такой как Neo4j?Более того, можно ли вычислить сходство вызовов функций, если их выбросить в Neo4j?

1 Ответ

0 голосов
/ 14 апреля 2019

Может ли он быть представлен в формате json или в базе данных Graph, такой как Neo4j?

Оба в порядке. Вы можете использовать json для представления графиков, таких как GraphSON , JSON Graph и т. Д. Загрузка их в графическую базу данных, такую ​​как Neo4j, также возможна.

Более того, можно ли вычислить сходство вызовов функций, если их выгрузить в Neo4j?

Я не знаком с подобием вызова функции, но есть некоторые алгоритмы подобия в пакете алгоритмов графа Neo4j (https://neo4j.com/docs/graph-algorithms/current/algorithms/similarity/), на который вы можете взглянуть.

Однако, если все ваши вычисления выполняются в памяти, что означает, что вы читаете данные на диске только один раз, и вы решаете выполнять вычисления самостоятельно, непосредственный сброс структуры данных вашего графа памяти на диск может быть лучшей идеей, которая прост в реализации и может повысить производительность загрузки данных.

Формат хранения графа сильно зависит от формы вычисления графа, поэтому он поможет мне ответить, если вы сможете предоставить некоторую информацию о вычислении подобия вызова функции.

...