-
Data: 2014-05-22 21:48:04
Temat: Prolog i hierarchiczna baza faktów
Od: Sebastian Biały <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Mam takie zagadnienie abstrakcyjne.
Jest baza faktów. Ma ona budowę bardziej hierarchiczną niż typowe
tabelki. Obrazowo mogę ją mniej więcej przedstawić tak:
a) Są domy
b) W domach siedzą ludzie w róznych ilościach
c) Ludzie mają znajomych ludzi (relacje jeden-do-wielu)
d) Ludzie siedzą u siebie, u znajomych, na ulicy
e) Ludzie mają różne dobra
f) Ludzie czasem są rodzinami, mają przodków, dzieci itd
g) Ludzie współdzielą dobra w rodzinie i nie tylko
h) Dobra naleą do wielu kategorii
....
Można tak dużo pisać. Baza ba bardzo wiele ukrytych relacji
hierachicznych typu "dziadek sąsiada co ma telewizor pacujący z moją
matką ma na imię Heniek".
Potrzebuje przekopać taką bazę pod kontem zapytań w stylu:
"Ilu moich sąsiadów ma tostery?"
"Kim jest ten koleś co ma psa i pracuje z moją ciotką?"
"Kto był wczoraj na imprezie łysego w okularach?"
"Czy którykolwiek z informatyków ma dziewczynę?"
"Czy ta dziewczyna z domu obok pracowała z moim kolegą ze studiów?"
Bazę mam w postaci zywych struktur w pamięci i mogę je zserializować
praktycznie do dowolnej postaci. Pomyślałem: może prolog? W zasadzie
powinien móc mi tą bazę przekopać w sposób sprawniejszy niż SQL badź
jakieś rękodzieło. Zaznaczam że pomimo że w prologu trochę pisałem,
jestem technicznie zerem.
Pytanie: jaką literaturę mam przeczytać, aby rzucić światło na
rozwiązania tego typu problemów w Prologu? Wydaje mi się że wszelkie
ogólne ksiązki Prologowe jakoś niespecjalnie zajmują się tego typu
tematyką, przynajmniej w tych do których mam obecnie dostęp nie znajduje
odpowiedzi na pytanie jak taki temat ugryźć. Danych jest bardzo dużo,
relacje są skomplikowane i robienie tego bez wskazówek kogoś
doświadczonego raczej nie jest dobrym pomysłem.
Dlaczego Prolog? Nie wiem, to jeden z eksperymentów. I co ważne: to nie
jest problem akademicki: jeśli Prolog ułatwi mi życie to zostanie
zaembedowany w aplikacji. I nie, baza nie zawiera *takich* danych, ale
myślę że podobne, na tyle by róznice nie wpływały istotnie na sens
problemu. Na szczęscie dane są ścisłe, czyli nie interesuje mnie obraz
statystyczny tylko *fakty*.
Dlaczego nazywam to hierarchiczną bazą danych? Też nie jestem pewny tej
nazwy, wydaje mi się że dane są uporządkowane bardziej "kto jest czyim
wlascicielem" przy czym na róznych płaszczyznach. Byc może jestem w błędzie.
Następne wpisy z tego wątku
- 22.05.14 22:32 g...@g...com
- 22.05.14 23:55 A.L.
- 23.05.14 00:01 A.L.
- 23.05.14 00:20 Stachu 'Dozzie' K.
- 23.05.14 03:17 A.L.
- 23.05.14 12:11 Sebastian Biały
- 23.05.14 13:49 intuicjonista
- 24.05.14 01:54 g...@g...com
- 24.05.14 04:41 A.L.
- 24.05.14 05:06 A.L.
- 24.05.14 09:51 Sebastian Biały
- 24.05.14 14:57 Andrzej Jarzabek
- 24.05.14 15:18 Sebastian Biały
- 24.05.14 15:49 Andrzej Jarzabek
- 24.05.14 16:39 g...@g...com
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-23 Ciekawy wyrok Sadu Najwyzszego USA
- 2025-02-22 spalinki
- 2025-02-22 Warszawa => Presales Engineer IT <=
- 2025-02-22 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-02-22 Spalinki:)
- 2025-02-23 Useme
- 2025-02-22 Drogie mieszkania, drogie kredyty i ogromne zyski banków. Czy rząd ma rozwiązanie?
- 2025-02-21 Warszawa => Key Account Manager IT <=
- 2025-02-21 Warszawa => Data Engineer (Tech Lead) <=
- 2025-02-21 Aliexpress zaczął oszukiwać na bezczelnego.
- 2025-02-21 Warszawa => System Architect (Java background) <=
- 2025-02-21 Kula w łeb
- 2025-02-21 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-21 Warszawa => Solution Architect (Java background) <=
- 2025-02-21 Lublin => JavaScript / Node / Fullstack Developer <=