Kiedy kilka miesięcy temu zastanawiałem się, jak przechowywać wiersze w bazie danych, myślałem, że ich budowa jest prosta. Myślałem: wiersz składa się z linijek, czyli wersów, a czasami są między tymi wersami odstępy. No i czasem są jeszcze jakieś kawałki tekstu niebędące wersami, na przykład w "Panu Tadeuszu" na początku każdej księgi jest streszczenie treści tej księgi, na przykład: "Treść: Powrót panicza - Spotkanie się najpierwsze w pokoiku, drugie u stołu - Ważna Sędziego nauka o grzeczności (...)". Więc wymyśliłem, że wiersz jest listą elementów, a każdy element ma treść i typ, a typ to "wers", "inne" lub "odstęp". No i "odstęp" nie będzie miał nigdy treści - bo jest tylko odstępem. No i na przykład "Litwo, ojczyzno moja, ty jesteś jak zdrowie" będzie typu "wers", a streszczenie treści będzie typu "inne". Proste.
I wtedy pojawiła się "Zemsta" Fredry i okazało się, że słabo pasuje do tego schematu. Weźmy ten fragment:
(...)
REJENT
napisawszy
Skaleczyli?
MULARZ
A, broń Boże!
REJENT
Nie, serdeńko?
MULARZ
Ach, nie.
REJENT
Przecie
Znak, drapnięcie?
MULARZ
pomówiwszy z drugim
Znajdziem może.
(...)
Sprawa pierwsza, mniej ważna: zarówno wstawki mówiące, który bohater akurat mówi (czyli te napisy "REJENT", "MULARZ"), jak i didaskalia (czyli te napisy "napisawszy", "pomówiwszy z drugim") są czymś innym niż wers - a jednak wrzucanie ich wszystkich do worka z napisem "inne" gubi pewną ważną informację. Na przykład może chciałbym wyświetlając innego stylu używać dla tego, innego dla tego? No ale to drobiazg.
Ważniejsze: kiedy oglądam tę sztukę w teatrze, od razu słyszę, że to jest pisane ośmiosylabowcem, i że w tym fragmencie mam trzy ośmiosylabowe wersy, i że pierwszy wers rymuje się z trzecim:
Skaleczyli? A, broń Boże!
Nie, serdeńko? Ach, nie. Przecie
Znak, drapnięcie? Znajdziem może.
Tylko że w środek wersów są wtrącane imiona bohaterów i didaskalia! Nie przerywając wersu! No i to nie pasuje do mojego prostego modelu. W moim modelu muszę sztucznie udawać, że "Skaleczyli?" a "A, broń Boże!" to dwa osobne wersy. Tutaj przydałby się jakiś inny model. Na przykład taki, w którym mam bloki tekstu, przy czym blok jest typu "treść właściwa", "odstęp", "inne", zaś w treści bloku "treść właściwa" mogę wstawiać specjalny znacznik mówiący "tu jest granica wersów". Tylko oczywiście i z tym modelem będą problemy, tylko że inne...
Lekko nie ma, porządkowanie rzeczywistości jest jak ubieranie ośmiornicy. Przecież i G. już kiedyś o tym mówił, kiedy mówił, że nie da się przechowywać w bazie danych informacji o znajdujących się w Warszawie tramwajach. Bo co wymyślisz jakiś schemat bazy danych, to zaraz okazuje się, że coś w tym modelu się nie mieści. Mamy na przykład taką sytuację, że przed wojną były w Warszawie trzy tramwaje - A, B i C - a teraz w muzeum mamy dwa tramwaje, które wiemy, że są którymiś z tych trzech, ale nie wiemy którymi. I każdy schemat bazy danych, który nie był specjalnie skrojony pod ten przypadek, od razu się sypie.
Może nadzieja w tym, że sztuczna inteligencja pozwoli przetwarzać i analizować informację nieuporządkowaną.