Рубрики
Без рубрики

Использование Python для представления глобалей в сетевой диаграмме

Глобалы как структура данных графа в Python Как использовать Iris Native API + Python в … Теги с Python, база данных.

Как использовать IRIS нативный API + Python, чтобы увидеть глобал в качестве графической сетевой диаграммы.

Ирис глобал

Чтение Документации Эти темы связаны с глобалами:

  • Глобал состоит из набора узлов (в некоторых случаях, только один узел), идентифицированным подписями.
  • Каждый узел может содержать значение.
  • ObjectScript включает в себя функции для итерации через узлы глобального и быстрого доступа.
  • Глобал автоматически хранится в базе данных. Когда вы назначаете значение узлу глобальной переменной, данные немедленно записываются в базу данных. – Вы можете увидеть содержимое глобального через команду ObjectScript или через портал управления.

Питонский способ увидеть глобал

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

Приложение диаграммы

Демо – попробуйте сами

Я развернул приложение в качестве демонстрации здесь, моя база данных IRIS имеет один глобальный для тестирования ^ компьютера: ( http://iris-python-suite.eastus.cloudapp.azure.com/global-Chart )

В код

Клонировать мой репозиторий, чтобы увидеть всю реализацию кода.

$ git clone https://github.com/renatobanzai/iris-python-covid19.git

Что я использовал в Python

В этой среде приложений я использую Python 3.7 с этими модулями.

  • Pyyaml == 5.3.1
  • Dash == 1.12.0
  • Truelly == 4.7.1
  • newsx == 2.4.
  • numpy == 1.18.4
  • Dash-bootstrap-ports == 0.10.1
  • IRISNATION-1.0.0-CP34-ABI3-LINUX_X86_64.WHL

Структура проекта

Этот проект имеет простую структуру, чтобы быть легко понять. На главной папке у нас есть 3 самых важных подпапки:

  • ./app: со всеми Код приложения и установка конфигурации.
  • ./iris: с Intersystems Iris Dockerfile Подготовка к служению приложению.
  • ./данные: Благодаря файлам из Университета Джона Хопкинса в Ingest и YAML для изменения конфигурации за пределами контейнерной среды на объем

Структура приложений

Теперь внутри каталога ./app мы можем увидеть некоторые файлы:

  • __main__ .py: с реализацией веб-приложения
  • iris_python_suite.py: класс, выполняющий все преобразования данных для преобразования глобал в график сетевогоX.

Структура базы данных

Это приложение использует Intersystems Iris в качестве хранилища, используемые глобалы:

– ^ компьютер: Глобальный для проверки графика. Если вы хотите, вы можете проверить все остальные глобалы по умолчанию в пространстве пользователя пользователя.

Есть некоторые другие глобалы, созданные приложением, которое также может быть использовано в качестве теста:

– ^ config: с некоторыми данными конфигурации – ^ RAW.COVID19: где необработанные данные (источник данных) продвигаются – ^ CountryDetails: чтобы получить население каждой страны – ^ end.date.deaths: для обслуживания заявок на графику и Вот цель, это быстро! – ^ end.timeless.deaths: к серверу еще один вид диаграммы реквизиция

Структура приложений

IRIS_PYTHON_SUITE.PY: Внутри этого файла есть 2 класса, которые делают задание:

  • Irisdomestic: имеет те же особенности Irisnative + создает экземпляры IRISGLOBALCHART, IRISGLOBAL и т. Д. (Фабрика)
  • IRISGLOBALCHART: Сделайте рекурсивный трек в глобальную, преобразуя все данные в график NetworkX.

Почему мне нужно преобразовать график в объект NetworkX?

Если вы спрашиваете себя, модуль NetworkX имеет функциональные узлы положения, использующие алгоритм нанесенного принудительной силы Fruchterman-Reingold.

Алгоритм Fruch … что?

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

Линия, которая выполняет использование этого алгоритма на Python_suite_Global.py:

    def get_fig(self):
    _nx = self.obj_nx
    pos = nx.spring_layout(_nx)

Запуск приложения самостоятельно

Предварительные условия

  • портить
  • Docker и Docker-Compose
  • Доступ к терминалу в вашей среде

Шаги

С помощью Docker-Compose вы можете легко поднять одну среду со всеми фигурами и конфигурациями перейти к папке Iris-Python-Covid19 и введите это:

$ docker compose build
$ docker compose up

Предполагаемое время до контейнеров

Запуск 1-го времени будет зависеть от вашего интернет-ссылки для загрузки изображений и зависимостей. Если это длится более 15 минут, возможно, что-то идет не так, не стесняйтесь общаться здесь. После того, как 1-й раз под управление следующими выполнением будет лучше и займет меньше 2 минуты.

Если все в порядке

Через некоторое время вы можете открыть браузер и перейти к адресу:

http://localhost:8050/global-chart

Вы должны посмотреть на портал администратора IRIS

Я использую в настоящее время пользователя пространства имен пользователя

http://localhost:9092
user: _SYSTEM
pass: theansweris42

Если эта статья поможет вам или вам нравится, пожалуйста, проголосуйте:

Это приложение находится в текущем конкурсе на открытом обмене, вы можете голосовать в моем приложении Iris-Python-Suite Здесь ( https://openexchange.indersystems.com/contest/current )

Оригинал: “https://dev.to/intersystems/using-python-to-represent-globals-in-a-network-chart-1bek”