Witam.
Mam problem, mianowicie musze na zaliczenie zrobic system ekspertowy w prologu, z tym ze nie za bardzo znam ten jezyk i chcialem jak najmniej w nim pisac, ale oddac ten projekt :) co za tym idzie, chcialbym stworzyc w prologu tylko baze wiedzy, a nastepnie wyeksportowac ja np. do php ew. do javy czy C#. I caly system ekspertowy stworzyc w tych jezykach w oparciu tylko o ta baze wiedzy z prologa. Czy instnieje taka mozliwosc??? Jezeli tak to prosze o pomoc bo bardzo mi na tym zalezy...
Szczerze mówiąc, nie wiem o co ci chodzi dokładnie.
Chcesz napisać bazę w prologu, a później używać danych z niej w innym języku programowania? Jeśli tak to nie da się :] . Ewentualnie jako interfejs który uruchamiałby interpreter prologa. Czemu? Po prostu - baza danych jest w prologu praktycznie całym programem (na tym właśnie polega zabawa z prologiem).
Przykład bazy danych:
rejsy( sf, den, 930, 1230).
rejsy( sf, dal, 900, 1430).
rejsy( den, chi, 1500, 1800).
rejsy( den, dal, 1400, 1700).
rejsy( dal, chi, 1530, 1730).
rejsy( chi, ny, 1500, 1930).
rejsy( chi, ny, 1900, 2200).
rejsy( chi, ny, 1830, 2130).
polaczenie(X, Y, O, P) :-
rejsy(X, Y, O, P).
polaczenie(X, Y, O, P) :-
rejsy(X, Z, O, T1),
polaczenie(Z, Y, T2, P),
T2 >= T1+100.
i użycia (to już interpreter)
?- polaczenie(sf, chi, Odlot, Przylot).
Odlot = 930,
Przylot = 1800 ? ;
Odlot = 900,
Przylot = 1730 ? ;
no
Zaczerpnięte ze strony http://www.im.pwr.wroc.pl/~przemko/prolog/index.html - ogólnie polecam, ale na łopatologię bym nie liczył (tak to już jest w niszowych językach).
czyli nie mozna zrobic czegos na zasadzie sql server i asp.net ze baza wspolpracuje z jezykiem programowania? Tylko w prologu funkcjonuje to jako calosc. A ewentualnie moge sobie interfejsc zrobic w htmlu i php, dobrze zrozumialem??
Tak, zrozumiałeś dobrze. To znaczy, "baza danych" w prologu to nic więcej niż takie właśnie powiązania jak pokazane powyżej - a ich interpretacją zajmuje się, i tylko do tego jest, interpreter tego języka. Dla innego języka programowania taka "baza danych" to po prostu śmieci. Za to możesz (skojarzenie ze SQL) zapytać interpreter prologa o jakieś dane, i następnie gdzieś ich użyć - na przykład w innym języku (aczkolwiek nie będzie to bardzo proste). Być może to cię satysfakcjonuje :) .