-
Data: 2014-05-28 23:54:36
Temat: Re: Prolog i hierarchiczna baza faktów
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 28/05/2014 19:35, Sebastian Biały wrote:
> On 2014-05-27 23:52, Edek wrote:
>
>> Hierarchiczną? Czy punkt a jest b czy b nad a i dlaczego?
>
> Ponieważ niezygle czesto wystepują tam zalezności "coś jest wewnątrz
> czegoś". Z programowania to oznacza częste relacje parent<->child
> wyrażone z relacji między obiektami w pamięci. Myślę że to dość istotna
> obsewacja.
Rozumiem, że chodzi ci o możliwość definiowania w języku zapytań reguł
typu "jeśli a jest wewnątrz b a b jest wewnątrz c, to a jest rónież
wewnątrz c?
> Danych jest *bardzo* dużo, powiedzmy ze zajmuja solidne gigabajty w
> pamięci. Jednak relacji nie ma za wiele,
Co rozumiesz przez "relację"? Chodzi o to, że rodzajów powiązań między
danymi jest niewiele?
Generalnie nie znam się zbyt dobrze, ale z wykorzystaniem Prologa do
przeczesywania dużej ilości danych może być problem.
Ja bym rozważył możliwość zembedowania jakiegoś języka skryptowego,
który ci będzie łatwo zintegrować (np. ten twój JavaScript czy Python) i
wystawienia mu API. W dowolnym języku Turing complete możesz wtedy
napisać dowolne zapytania (nawet jeśli ich wyrażenie nie będzie zbyt
eleganckie). W miarę identyfikacji typowych wzorców zapytań możesz
zrefaktoryzować swoje zapytania w bibliotekę/framework i efektywnie
stworzyć DSL-a osadzonego w wybranym języku.
> Problem już został wstepnie rozwiązany w C++ i tam mam najbardziej
> rozbudowane "zapytania" eksperymentalne. Niestety wygląd kodu ukrywa
> intencje (więcej emulacji logiki niż sensu zapytania).
C++, zwłaszcza C++11 jest dość ekspresywny, powinieneś móc zdefiniować
infrastrukturę tak, żeby "emulację logiki" poukrywać w klasach,
funkcjach, ostatecznie makrach - przy odpowiedniej bibliotece powinieneś
mieć czytelny sens zapytania z dodatkowym bonusem w postaci type safety.
Oczywiście nadal pozostaje ci problem taki, że jak masz mieć język
zapytań w C++ to musisz w swoją aplikację wbudować kompilator (albo
kazać użytkownikowi kompilować te zapytania samodzielnie), plus gdybyś
chciał je uruchamiać po stronie serwera to zabezpieczenie aplikacji jest
znacznie trudniejsze - tak więc C++ niekoniecznie jest dobrym pomysłem
tak czy inaczej.
> Chcę zrobić
> eksperyment z językiem zorientowanym logicznie aby sprawdzić czy będzie
> bardziej czytelny. Nie jestem tez zadowolony z mojej "bazy danych" i mam
> przeczucie że zmiene jej organizacji może coś pomóc. Tu muszę szeroko
> poczytać o innych organizacjach baz danych.
Może wrzuć w relacyjną?
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-13 Gdańsk => Application Security Engineer <=
- 2025-01-13 Białystok => System Architect (Java background) <=
- 2025-01-13 Warszawa => Konsultant ds. sprzedaży <=
- 2025-01-13 Warszawa => Key Account Manager <=
- 2025-01-13 Szczecin => Senior Field Sales (system ERP) <=
- 2025-01-13 Rzeszów => International Freight Forwarder <=
- 2025-01-13 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-01-13 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-01-13 Warszawa => Staż w dziale Sprzedaży B2B <=
- 2025-01-13 Wydajność klimy w obecnych temperaturach
- 2025-01-13 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-01-13 Kraków => UX Designer <=
- 2025-01-13 Katowice => Key Account Manager (ERP) <=
- 2025-01-13 Mińsk Mazowiecki => Spedytor Międzynarodowy <=
- 2025-01-12 USB3.x->HDMI/DP ze sterownikami w win11