Как использовать 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”