-
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
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- 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)
Najnowsze wątki
- 2025-05-03 gazowe kuchnie są znacznie bardziej szkodliwe dla zdrowia, niż dotychczas sądzono
- 2025-05-03 Czyli jednak elektryki są TANIE i powszechnie dostępne dla obywateli
- 2025-05-03 Elektryki do Morskiego Oka do utylizacji
- 2025-05-03 Crash testy na publicznej drodze - 4 BMW zderzone
- 2025-05-03 pojebane Google
- 2025-05-03 Brednie w wiki - hasło Dehomag
- 2025-05-03 gazowe kuchnie są znacznie bardziej szkodliwe dla zdrowia, niż dotychczas sądzono
- 2025-05-03 Chiny => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu <
- 2025-05-03 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-05-03 Warszawa => Frontend Developer (Angular13+) <=
- 2025-05-02 Gliwice => Business Development Manager - Network and Network Security
- 2025-05-02 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-05-02 Polska => Senior Key Account Manager <=
- 2025-05-02 Warszawa => Senior Programmer C <=
- 2025-05-02 Gdańsk => Team Lead Data Engineer (Snowflake) <=