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:
Zmienne
Oznaczamy je ciągiem znaków alfanumerycznych, rozpoczynającym się od:
dużej litery,
znaku podkreślenia
Sam znak podkreślenia oznacza zmienną anonimową. Należy zwrócić uwagę, że wystąpienie zmiennej anonimowej w jakiejś formule jest uznawane za różne od jakiegokolwiek innego wystąpienia zmiennej anonimowej.
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
conjunctions (/2)
disjunctions (; /2)
wbudowane operatory porównania
stałe
zmienne
Funkcje:
f(a1, … an)
gdzie a1 … an – argumenty
Dostępny jest tylko ograniczony zbiór funkcji wbudowanych