eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingProlog i hierarchiczna baza faktówRe: Prolog i hierarchiczna baza faktów
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!news.chmurka.net!.POSTED!not-for-mail
    From: Andrzej Jarzabek <a...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: Prolog i hierarchiczna baza faktów
    Date: Wed, 28 May 2014 22:54:36 +0100
    Organization: news.chmurka.net
    Lines: 55
    Message-ID: <lm5lu6$olj$1@srv.chmurka.net>
    References: <lllk9q$lfi$1@node1.news.atman.pl> <lm31eu$5qr$1@node2.news.atman.pl>
    <lm5a9l$gt7$1@node2.news.atman.pl>
    NNTP-Posting-Host: 90.217.191.199
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: srv.chmurka.net 1401314056 25267 90.217.191.199 (28 May 2014 21:54:16 GMT)
    X-Complaints-To: abuse-news.(at).chmurka.net
    NNTP-Posting-Date: Wed, 28 May 2014 21:54:16 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101
    Thunderbird/24.5.0
    In-Reply-To: <lm5a9l$gt7$1@node2.news.atman.pl>
    X-Authenticated-User: ajarzabek
    Xref: news-archive.icm.edu.pl pl.comp.programming:205857
    [ ukryj 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ą?

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

  • 29.05.14 01:36 A.L.
  • 29.05.14 01:39 A.L.
  • 29.05.14 10:55 firr

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: