@Shavadrius

Существуют ли инструменты для хранения иерархических связанных между собой показателей?

Доброго времени суток!
При составлении документации часто возникает потребность описания формул расчета тех или иных показателей, но проделав такую работу раз приходится делать ее еще раз, т.к. за это время многое в системе поменялось (новые показатели, изменение старых и пр.). Держать такую документацию в надлежащем и актуальном виде сложно.
Вот у меня и возник вопрос: а есть ли какие-то open source решения, которые можно интегрировать в свою wiki проекта, чтобы покрывать следующие "хотелки":
1. Создание справочника показателей/индикаторов, где каждая сущность описывает систему-первоисточник (откуда брать), свое хранилище (где хранить расчитанный показатель), свои зависимости (от каких показателей идет расчет), формула (математическая формула или алгоритм расчета);
2. Выгрузка справочника в удобном виде (csv, json);
3. (опционально) Построение дерева зависимостей в UI.

Ничего интересного на просторах интернета не нашел, допускаю, что как-то не так искал.
Если же ничего такого нет, то прошу совета в каком виде это можно реализовать и в сторону чего думать.
Пока пришел к тому, чтобы все это хранить в какой-нибудь графовой БД (neo4j, graphdb) и пользоваться семантическим парсером, чтобы из строк получать формулы (для красивого вывода куда-нибудь в UI). Еще нужно написать пару-тройку функций для обхода графа и проверки на "цикличность" и "направление" (чтобы без циклов).
  • Вопрос задан
  • 180 просмотров
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Семантические графовые базы данных скорее всего подходят под данную задачу. Типа RDF/Semantic Web.
В качестве языка запросов там могут быть использованы SparQL. В качестве платформы хранения.... а чорт
его знает. Там много форматов. И XML и JSON и есть бинарники и JDBC адаптеры.

Это вообще серебрянная пуля которая везде подходит. Даже реляционки можно также представить. Со своими
накладыми но можно.

Но есть несколько мыслей почему их применение может быть неудобным. Первая. Например - знания о том
как все внутри устроено - будут только у 1 человека. У создателя этой базы. И никто кроме автора
в этой базе ничего не найдет.

Вторая. В эпоху умных чятов такие базы знаний умерли очень быстро. Вернее сказать их полезность
сильно девальвировала. В 20м веке в такие базы много вкладывали. Делали ставку на то что системы
со строгими правилами позволят выводить новые правила и факты. Но не сбылось.

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

Вобщем для более глубокого понимания хотелось-бы чтоб автор просто привел парочки примеров. Может
там реально все проще.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы