-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: Sebastian Biały <h...@p...onet.pl>
Newsgroups: pl.comp.programming
Subject: Prolog i hierarchiczna baza faktów
Date: Thu, 22 May 2014 21:48:04 +0200
Organization: ATMAN - ATM S.A.
Lines: 49
Message-ID: <lllk9q$lfi$1@node1.news.atman.pl>
NNTP-Posting-Host: 193.0.194.227
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1400788090 22002 193.0.194.227 (22 May 2014 19:48:10
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Thu, 22 May 2014 19:48:10 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:24.0) Gecko/20100101 Thunderbird/24.5.0
Xref: news-archive.icm.edu.pl pl.comp.programming:205799
[ ukryj 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
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-21 Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 2024-12-21 Ideologia Geniuszy-Mocarzy dostępna na nowej s. WWW energokod.pl
- 2024-12-21 ciekawy układ magnetofonu
- 2024-12-21 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2024-12-21 Warszawa => Java Developer <=
- 2024-12-21 Zalesie Borowe => Medical Equipment Service Engineer <=
- 2024-12-21 Żerniki => Specjalista ds. Employer Brandingu <=
- 2024-12-21 jak tacy debile
- 2024-12-20 Precedensy politycznie motywowanego nie wydawania w UE
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-20 czyste powietrze
- 2024-12-20 Katowice => Analyst in the Trade Development department (experience wi