Основные принципы моделирования предметных областей с помощью семантических сетей, страница 2

relation("is", "Ivanova", "Woman").

relation("is", "1960", "Year").

relation("is", "1961", "Year").

relation("is", "1956", "Year").

relation("is", "1959", "Year").

relation("has wife", "Petrov", "Nikolaeva").

relation("has hasband", "Nikolaeva", "Petrov").

relation("has wife", "Ivanov", "Ivanova").

relation("has hasband", "Ivanova", "Ivanov").

relation("born", "Petrov", "1960").

relation("born", "Nikolaeva", "1961").

relation("born", "Ivanov", "1956").

relation("born", "Ivanova", "1959").

relation("not older","Petrov","1960").

relation("not older"," Nikolaeva ","1960").

relation("greater","Petrov","Nikolaeva").

relation("greater","Ivanov","Ivanova").

relation("greater","Ivanov","Petrov").

relation("greater","Ivanov","Nikolaeva").

relation("greater","Ivanova","Nikolaeva").

relation("greater","Ivanova","Petrov").

Запросы:

1.  Определение какая из супружеских пар не старше 1960 г.  not_older(STRING,STRING,STRING).

2.  Определение кто кого старше.

greater(STRING,STRING).

3.  Определение в какой супружеской паре муж старше жены.

hasband_greater(STRING,STRING).

Тесты.

1.  not_older(X,Y,”1960”).

X=Petrov, Y=Nikolaeva

2.  greater(X,Y).

X=Petrov, Y=Nikolaeva

X=Ivanov, Y=Petrov

X=Ivanov, Y=Nikolaeva

X=Ivanov, Y=Ivanova

X=Ivanova, Y=Petrov

X=Ivanova, Y=Nikolaeva

3.  hasband_greater(X,Y).

X=Petrov, Y=Nikolaeva

X=Ivanov, Y=Ivanova


·  Для второго примера рассмотрим в качестве предметной области свою группу.  Семантическая сеть должна включает знания о персональном составе бригад и конкретные сведения по персонам. Запросы  имеют вид «какая бригада уже защитила лабораторную работу №1», «какой бригаде принадлежит студент», «когда у студента день рождения», «кто самый старший в бригаде».

Запросы:

1.  Принадлежность студента бригаде   stud_brig(STRING,STRING)

2.  Определение года рождения студента   stud_birth (STRING,STRING)

3.  Определение какая бригада какую лабораторную работу защитила   defence_lab (STRING,STRING)

4.  Определение кто в бригаде самый старший   brig_older(STRING,STRING)

Тесты:

1.    stud_brig(X,Y).

X=Ignatev A, Y=1brigade

X=Efremova M, Y=1brigade

X=Koyfman D, Y=2brigade

X=Sorokin A, Y=3brigade

X=Shilak D, Y=3brigade

X=Fedorov K, Y=4brigade

X=Shunina O, Y=4brigade

X=Lavrushenko N, Y=5brigade

X=Danilkova E, Y=5brigade

X=Gallyamov O, Y=6brigade

X=Andrycenko A, Y=6brigade

X=Kichaeva N, Y=7brigade

X=Golubeva M, Y=7brigade

X=Markov V, Y=8brigade

X=Konovalenko, Y=8brigade

X=Kazygashev K, Y=9brigade

X=Tcarapkin V, Y=9brigade

X=Korsun M, Y=10brigade

X=Chaban S, Y=11brigade

X=Hicenko E, Y=11brigade

2.  stud_birth (X,Y).

X=Ignatev A, Y=1984

X=Koyfman D, Y=1985

X=Sorokin A, Y=1984

X=Shilak D, Y=1984

X=Fedorov K, Y=1983

X=Lavrushenko N, Y=1984

X=Gallyamov O, Y=1984

X=Andrycenko A, Y=1984

X=Markov V, Y=1984

X=Konovalenko, Y=1984

X=Tcarapkin V, Y=1983