Представление данных графика в виде ключа -объекта значения

Я начинаю копаться в базах данных графов, но понятия не имею, как эти графы хранятся внутри. Допустим, у меня есть этот график (, взятый из Википедии ):

. Как мне сериализовать этот график как объект значения ключа -?(например, словарь Python)

Я представляю два словаря, один для вершин и один для ребер:

{'vertices':
 {'1': {'Name': 'Alice', 'Age': 18},
  '2': {'Name': 'Bob', 'Age': 22},
  '3': {'Type': 'Group', 'Name': 'Chess'}},
 'edges':
 {'100': {'Label': 'knows', 'Since': '2001/10/03'},
  '101': {'Label': 'knows', 'Since': '2001/10/04'},
  '102': {'Label': 'is_member', 'Since': '2005/7/01'},
  '103': {'Label': 'Members'},
  '104': {'Label': 'Members'},
  '105': {'Label': 'is_member', 'Since': '2011/02/14'}},
 'connections': [['1', '2', '100'], ['2', '1', '101'],
                 ['1', '3', '102'], ['3', '1', '103'],
                 ['3', '2', '104'], ['2', '3', '105']]}

Но я не уверен, является ли это наиболее практичной реализацией. Возможно, «соединения» должны быть внутри слова «вершины». Итак, как лучше всего реализовать хранилище данных графа с использованием объектов значения ключа -? Что и где я могу прочитать больше об этом?

Возможно родственный, но не дубликат:Как представить странный граф в некоторой структуре данных

18
задан Community 23 May 2017 в 12:08
поделиться