|
|
|
проектирование программы для контроля качества метаданных в БД
|
|||
|---|---|---|---|
|
#18+
привет, вообще-то я не спец, но у нас в городе сложно нанять программиста, поэтому придется все самой делать :) . задача состоит в следующем.. . есть БД, исходники которой представляют текстовые файлы с метаданными (типа html). Эти исходники постоянно пополняются (вручную в wordе) и база растет - поэтому стали возникать ошибки. Потребовалась программа, которая будет парсить txt-исходники и искать в них ошибки метаданных . БД представляет собой набор правовых актов (распоряжения, приказы), которые имеют как уникальный ID, так и общие элементы: номер, дата, название, исходящий орган, место хранения бумажной копии, команды формата строк и т.п. . у меня есть список правил (на бумаге) и ограничений, согласно которым необходимо вылавливать ошибки. Например: 1) бумажные копии приказов должны храниться в архиве N 2 2) номер у документа должен быть один (исключение - письма, у них 2) 3) департамент X может издавать только приказы и решения (но не постановления) 4) в тексте название должно быть центировано, а подпись подровнена влево 5) дата передачи в архив должна быть не позже 1 недели даты принятия док-та 6) дата публикации в газете должна быть не позже 1 месяца даты принятия док-та 7) утративший силу документ должен иметь команду предпреждения и т.п., всего таких правил более сотни. Причем изменение одной команды часто ведет за собой лавину изменения других команд. Например, при утрате док-та силы нужно убрать команду !ACTUAL, поставить команду !WARNING, и поменять команду !ARCHIVE (перенести бумажку в другой архив). . я вот думаю, каким образом все это организовать? Написать утилиты на регулярных выражениях с кучей условий if-then-else или применить ООП или можно что-то вроде нейронной сети прикрутить (но в них я совсем не сильна:)? Как вы считатете? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2008, 11:01 |
|
||
|
проектирование программы для контроля качества метаданных в БД
|
|||
|---|---|---|---|
|
#18+
Надо бы распарсить все документы и хранить и обрабатывать в дальнейшем не выходя из этого препарированного вида. Написать свое хранилище правил проверки / обработки и интерпретатор, который будет отрабатывать команды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2008, 13:57 |
|
||
|
проектирование программы для контроля качества метаданных в БД
|
|||
|---|---|---|---|
|
#18+
исходники всегда в препарированном виде. Т.е. представляют собой txt-файлы где текст вперемешку с метаданными. Проблема в том что исходниками пользуются несколько людей одновременно. Они просят меня выложить их в сетевую папку, я выкладываю - они их меняют, а потом я кладу их обратно (чтобы один и тот же документ одновременно не взяли несколько человек). Я понимаю, способ немного дурацкий, но что поделать :( Проектируемая программа будет использоваься как утилита - для запускаее раз в неделю, перед компиляцией. Вы можете посоветовать ссылки на полезные источники (где разобраны подобные задачи). ПРограммировать я немного могу (perl, особенно регепсы и чистый си), но с мат.частью просто беда :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2008, 08:55 |
|
||
|
проектирование программы для контроля качества метаданных в БД
|
|||
|---|---|---|---|
|
#18+
>> исходники всегда в препарированном виде. Т.е. представляют собой txt-файлы где текст вперемешку с метаданными. Стало быть нераспарсенные, в "сыром" виде. Я предложил вам 1. сделать структуру для хранения метаданных (типа EAV, но, возможно с модификациями с учетом вашей специфики), 2. сделать струтуру для хранения правил обработки и прелобразования 3. редактировать эти метаданные через специальные формы, а не как плайн текст. при редактировании в режиме интерпретации отрабатываются правила обработки и преобразования. Вероятно, внутри должен работать механизм, аналогичный машине пролога. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2008, 09:23 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35395297&tid=1543798]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 464ms |

| 0 / 0 |
