Prolog, oraz wybrane języki zapytań, jak choćby SQL czy Datalog. Spośród wymienionych języków podejście regułowe realizuje Prolog i Datalog. Języki regułowe są też stosowane w dużych systemach komercyjnych, jak Oracle Business Rules, IBM ILOG czy Business Rules Framework wchodzącym w skład Microsoft BizTalk Server.
Rozpocznijmy od prostego przykładu - chcemy wnioskować o relacjach rodzinnych. Zacznijmy najpierw od pytania, jakie informacje wystarczają do określenia związków rodzinnych. Można wybrać różne informacje bazowe, na przykład możemy zauważyć, że wystarczy informacja o tym, kto jest czyim rodzicem i o płci. Założymy więc, że mamy dane relacje bycia rodzicem, mężczyzną i kobietą. W języku naturalnym relacja bycia rodzicem dotyczy dwóch osób - rodzica i potomka. Relacja płci dotyczy pojedynczych osób. Możemy na przykład powiedzieć, że Jan jest rodzicem Marii, Jan jest mężczyzną i Maria jest kobietą. W logice używamy zwykle nieco innej notacji: nazwę relacji umieszczamy na początku, a następnie piszemy argumenty tej relacji, czyli wyrażenia określające konkretne obiekty lub zmienne. Podobnie zapisuje się relacje w językach programowania.
Relacje występujące w naszym przykładzie zapiszemy w notacji logicznej jako:
• rodzic(X, Y) - oznaczające, że osoba X jest rodzicem osoby Y,
• kobieta(X) - oznaczające, że X jest kobietą,
• mężczyzna(X) - oznaczające, że X jest mężczyzną.
Możemy teraz opisywać fakty:
• rodzic(jan, maria), rodzic(jan, marek), rodzic(maria, ewa), rodzic(ewa, robert),
• kobieta(maria), kobieta(ewa),
• mężczyzna(jan), mężczyzna(marek), mężczyzna(robert).
Zauważmy, że imiona napisaliśmy małymi literami. To celowy zabieg -
w omawianych językach regułowych stałe zapisuje się rozpoczynając nazwę małą literą. Gdy nazwę rozpoczyna wielka litera - mamy do czynienia ze zmienną. Jeśli napiszemy rodzic(jan, X), X oznacza zmienną, mogącą w trakcie obliczeń przyjąć konkretne wartości. Dotychczas mieliśmy do czynienia ze zmiennymi zdaniowymi, przyjmującymi wartości prawda, fałsz. Zmienne występujące powyżej mają inną rolę - reprezentują obiekty z danej dziedziny.
Pisząc fakt, taki jak rodzic(jan, maria) stwierdzamy, że ten fakt zachodzi, czyli jest prawdziwy w opisywanej sytuacji.
Podane wcześniej fakty definiują następujące drzewo genealogiczne: