Портал "Русская Профессиональная Астрология"
Subject: Re: База данных
Replies: 15364 15366
Date : 22 Aug 2001 19:11 GMT
From : Alexey Bogdanovsky [ALB] (prashna@lens.spb.ru)
To : Александр Новицкий [Aries]
Приветствую Aleksandr Novickij!
15 августа 2001 в 16-11 ты писал:
AN> SE> 1. Специальный язык запросов, позволяющий задавать
AN> SE> поиск по максимально возможному числу астрологических
AN> SE> параметров в различных комбинациях.
AN> Это пожалуй самая сложная задача. Необходимо сперва
AN> разобраться с минимальным набором астрообозначений,
AN> позволяющим описать любую констелляцию в любом методе
AN> - то что я называю астрологическим языком.
Попытался вот обдумать эту задачу в рамках структурной лингвистики. К сожалению,
я хоть и сишник, но не настолько хороший, чтобы представлять, как программно
реализуются интерпретаторы – но, может, лингвистический анализ языка астрологии
поможет что-либо прояснить.
Сначала маленькая ремарка:
Честно говоря, я не уверен, что существует большой смысл в создании
универсальных монстров, поскольку почти всё, что нужно пишу в виде макросов к
Access и Exel с использованием библиотеки swedll32.dll. И мне даже кажется
порой, что лучше иметь набор подобных библиотек, чтобы каждый мог решать свои
задачи несложным программированием (плюс обмен макросами).
Но тем не менее.
Если подумать, в карте мы имеем не так много объектов:
Базовый класс = точка (нечто, имеющее координаты)
Свойство: координата, элемент знака, элемент дома (система 1,2,n)
Derived: куспид, звезда...
Derived: Планета
Свойства: Управитель знака, Симв. управитель дома (система 1,2,n)
Базовый класс: сектор (свойство: протяжённость)
Derived: знак, декан, фас, терм... (свойство: содержит точки, имеет управителя)
Derived: дом(свойство: содержит точки, имеет симв. управителя, имеет управителей
входящих в него знаков)
Derived Часть дома (содержит точки)
Базовый класс: аспект (Свойства: дуга, орбис, ....)
Ну и как бы всё!
Набор динамических методов пошире, но универсальные конструкторы
прогрессий-дирекций-транзитов впервые реализованы еще в SkyWorker.
Дальше правила вывода: точки взаимодействуют через аспекты и положения (в знаке,
доме), секторы взаимодействуют через точки. Вроде других способов нету.
Соответственно, возникает набор поисковых формул (под которые надо делать
интерпретатор). Потом пошли запросы: элементы домов, элементы знаков.
Взаимодействия домов, знаков (через управители, симв.управители) в статике и в
динамике. Поисковые функции (время, когда имеет место заданное взаимодействие).
От лабуды типа квадрантов, стихий и т.п. можно отказаться сразу, потому что они
задаются как набор исследуемых секторов. Даже планету-пиллигрим можно описать
как (на некоем псевдо-языке, достаточно понятном интуитивно)
{[Point][Planet][*]}{[Aspect][60][90][120][180]}
{[Point][Planet][*]}{[Operator][!=]}{[Method][FindStatic]}
Взаимодействие домов:
DEF PLANETSET1: {[Sector][House][1][Dispos][CoDisp][SubDisp] [Signif]}
DEF PLANETSET2: {[Sector][House][10][Dispos][CoDisp][SubDisp] [Signif]
{[Point][Planet][PLANETSET1]}{[Aspect][TABLE1]}{[Planet] [PLANETSET2]}
{[Point][Planet][PLANETSET1]}{[RECEPTION][TABLE2]}{[Planet] [PLANETSET2]}
- куда ещё больше универсальности! Ну, понятно, набор отчетов - сумма,
листинг...
Таблицы управлений пользователь формирует сам, причём можно задать
математические критерии для соуправителей (15 гр. Дома в знаке, точка в
доме/знаке, ретроградность точки как признак управления и тд и тп). Здесь
окончательного набора не будет, но можно его сделать достаточно большим.
Это, понятно, более примитивная вещь, чем идеал, заданный тобой - но она
реализуема.
Альтернативный подход - брать все известные техники и писать сообществом утилиты
на основе свободно распространяемых и постоянно пополняемых библиотек функций и
объектов. Но я и сам не представляю, как это реализовать.
PS/ Хоть бы разработать набор элементов управления ActiveX "ChartView" с единым
интерфейсом - и то было бы достижение! Чтоб не писать каждому с нуля графику.
Алексей (prashna@lens.spb.ru)