To jest stara wersja strony!
1. Wstęp
Celem tego dokumentu jest omówienie implementacji dedukcyjnego systemu bazodanowego DES, bazującego na języku Datalog. Największa część uwagi zostanie skupiona na praktycznych cechach narzędzia, jakkolwiek zawarte zostaną także uwagi o charakterze bardziej teoretycznym.
2.1. Uwagi odnośnie instalacji
Instalacja narzędzia DES jest wyjątkowo prosta i intuicyjna – dla poszczególnych systemów operacyjnych, w przypadku ściągnięcia wersji wykonywalnej, polega po prostu na uruchomieniu pliku wykonywalnego EXE (Windows) bądź głównego skryptu (Linux).
2.1.1. MS Windows
W przypadku systemu operacyjnego MS Windows mamy do wyboru dwie możliwości:
- plik des.exe – uruchomienie DES w standardowej konsoli:
- plik deswin.exe – konsola dedykowana dla Windows:
2.2. Uwagi o różnych językach
DES ma postać konsoli, w której wprowadza się poszczególne polecenia. Chociaż przewodnim językiem komunikacji jest Datalog, to jednak istnieje także możliwość używania innych języków – Prologu i SQL. Komendy pozwalające na przełączanie się pomiędzy tymi trzeba językami to:
/datalog
/prolog
/sql
Tego typu komendy pozwalają na permanentne (do czasu kolejnego wpisania kolejnej tego typu komendy) przełączenie się na dany język.
Jeśli natomiast chcemy wpisać tylko jedne polecenie w danym języku, odmiennym od aktualnie używanego, należy wykonać nastepujące komendy:
/datalog polecenie
/prolog polecenie
/sql polecenie
2.3. Pomoc
Poniższe komendy służą do uzyskania różnego rodzaju przydatnych informacji:
/help
– wypisuje listę dostępnych w danej chwili komend
/builtins
– wypisuje listę wbudowanych komend i poleceń
3. Opis działania poszczególnych języków
3.1. Datalog
Jest to najważniejszy język DES, z którego to narzędzie wywodzi swoją nazwę. Składnia Datalogu jest bardzo podobna do odpowiednika w Prologu, jedyna różnica jest związana z pewnymi niuansami, o których szerzej za chwilę.
Poniżej punktuję ważne elementy składni języka Datalog:
Termy złożone
W Datalogu mają postać:
t(t1, t2, …, tn)
, gdzie:
t
– symbol funkcyjny (funktor)
t1 … tn
- termy
Atomy
Są to wyrażenia postaci:
a(t1, t2, …, tn)
, gdzie:
a
– predykat (relacja)
t1 … tn
– termy
Wyrażenie warunkowe
Jest to wyrażenie logiczne zawierające:
Funkcje
f(a1, … an)
,gdzie:
a1 … an
– argumenty
Dostępny jest tylko ograniczony zbiór funkcji wbudowanych