Dmitry Alexandrov -> Denis @ Mon, 26 Feb 2018 15:03:13 +0300: >>> Предложите инструмент по сабжу. Решается задача для fun'a, поэтому не >>> стесняйтесь (общение в рамках решения этой задачи является частью fun'а) >>> >>> Требования: >>> >>> 1. Хранение данных в текстовом виде >>> >>> 2. Интерфейс командной строки (с прицелом на дальнейший запил >>> bash-скриптов для автоматизации) >>> >>> 3. Как можно минималистичнее во всем. Принцип "suck less" превыше >>> всего. >>> >>> 4. Возможность сразу без допилов получать репорты по связанным >>> данным. Т.е. груши любят: Петя, Вася, Таня ; Петя любит: яблоки, груши, >>> Таню.
>> Вроде бы нашел, что искал - GNU recutils. > В каком смысле? Там нет ничего, что можно было назвать «поддержкой > структур многие-ко-многим». Я сильно подозреваю, что в том же смысле, что у обычных реляционных баз, которые тоже специальной поддержки для них не имеют. Джойны-то есть... Хотя если говорить о человеко-читаемом формате, то оно бы должно уметь из Имя: Петя Любит: яблоки, груши, Таню Название: груши Любят: Вася, Таня делать вывод, что груши любят Петя, Вася, и Таня. Опыт программирования на рельсах даже подсказывает нам, что для этого достаточно выдать движку метаинформацию о том, что "любит" и "любят" - два имени одной связи в противоположных направлениях. Построить набор соответствующих пар - дело чисто механическое... > Не, ну если вы хотите дописать, это надо думать, никакой сложности не > составит, но в вопросе-то было ровно обратное. >> кто-то пользовался? Стоит начинать процесс штудирования мануала? > Да, конечно, весьма полезная штучка.