eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingProlog i hierarchiczna baza faktówRe: Prolog i hierarchiczna baza faktów
  • 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ą?

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: