Методы и алгоритмы трансляции естественно-языковых запросов к базе данных в SQL-запросы. Найханова Л.В - 137 стр.

UptoLike

Предикат (g
i
:X) Р
s
(g
i
, FROM (g),
r
t
2
) соответствует утверждению, что существует вершина g
i
,
которая находится в отношении квалификации с оператором FROM.
В этом случае элементы продукции pr
4
Tr
записываются в виде:
q
4
Tr
= P
par
(τ
i
, t(x
i1
, y
1
), t(x
i2
, y
2
), t(x
i3
, y
3
), t(x
i4
, y
4
), t(x
i5
, y
5
)) P
E
(x
i1
, 1) (g
i
:X) Р
s
(g
i
, FROM (g),
r
t
2
);
r
4
Tr
= add [Р
s
(FROM, g,
r
t
2
)].
Правило пятое. Вершина g
i
может быть внесена в список table_source ключевого слова «FROM»
тогда и только тогда, когда имеет место закономерность, описываемая конъюнкцией следующих
фактов:
- вершина g
i
имеет вектор
τ
i
- P
par
(τ
i
, t(x
i1
, y
1
), t(x
i2
, y
2
), t(x
i3
, y
3
), t(x
i4
, y
4
), t(x
i5
, y
5
));
- элемент x
i1
имеет значение «2» - P
E
(x
i1
, 2).
Предикат (g
i
:X) Р
s
(g
i
, FROM (x
i2
),
r
t
2
) соответствует утверждению, что существует вершина g
i
,
которая находится в отношении квалификации с оператором FROM.
В этом случае элементы продукции pr
5
Tr
записываются в виде:
q
5
Tr
= P
par
(τ
i
, t(x
i1
, y
1
), t(x
i2
, y
2
), t(x
i3
, y
3
), t(x
i4
, y
4
), t(x
i5
, y
5
)) P
E
(x
i1
, 2) (g
i
:X) Р
s
(g
i
, FROM (x
i2
),
r
t
2
); r
5
Tr
= add [Р
s
(FROM, x
i2
,
r
t
2
)].
Правило шестое. Вершина g
i
может быть внесена в список table_source ключевого слова
«FROM» тогда и только тогда, когда имеет место закономерность, описываемая конъюнкцией
следующих фактов:
- вершина g
i
имеет вектор
τ
i
- P
par
(τ
i
, t(x
i1
, y
1
), t(x
i2
, y
2
), t(x
i3
, y
3
), t(x
i4
, y
4
), t(x
i5
, y
5
));
- элемент x
i1
имеет значение «4» - P
E
(x
i1
, 4).
Предикат (g
i
:X) Р
s
(g
i
, FROM (x
i2
),
r
t
2
) соответствует утверждению, что существует вершина g
i
,
которая находится в отношении квалификации с оператором FROM.
В этом случае элементы продукции pr
6
Tr
записываются в виде:
q
6
Tr
= P
par
(τ
i
, t(x
i1
, y
1
), t(x
i2
, y
2
), t(x
i3
, y
3
), t(x
i4
, y
4
), t(x
i5
, y
5
)) P
E
(x
i1
, 4) (g
i
:X) Р
s
(g
i
, FROM (x
i2
),
r
t
2
); r
6
Tr
= add [Р
s
(FROM, x
i2
,
r
t
2
)].
Правило седьмое. Вершина g
i
может быть внесена в список Select_list ключевого слова
«SELECT» тогда и только тогда, когда имеет место закономерность, описываемая конъюнкцией
следующих фактов:
- вершина g
i
имеет вектор
τ
i
- P
par
(τ
i
, t(x
i1
, y
1
), t(x
i2
, y
2
), t(x
i3
, y
3
), t(x
i4
, y
4
), t(x
i5
, y
5
));
- элемент x
i1
имеет значение «2» - P
E
(x
i1
, 2).
Предикат (g
i
:X) Р
s
(g
i
, SELECT (g
i
),
r
t
2
) соответствует утверждению, что существует вершина g
i
,
которая находится в отношении квалификации с оператором SELECT.
В этом случае элементы продукции pr
7
Tr
записываются в виде:
q
7
Tr
= P
par
(τ
i
, t(x
i1
, y
1
), t(x
i2
, y
2
), t(x
i3
, y
3
), t(x
i4
, y
4
), t(x
i5
, y
5
)) P
E
(x
i1
, 2) (g
i
:X) Р
s
(g
i
, SELECT (g
i
),
r
t
2
); r
7
Tr
= add [Р
s
(SELECT, g
i
,
r
t
2
)].
Правило восьмое. Вершина g
i
может быть внесена в список Select_list ключевого слова
«SELECT» тогда и только тогда, когда имеет место закономерность, описываемая конъюнкцией
следующих фактов:
- вершина g
i
имеет вектор
τ
i
- P
par
(τ
i
, t(x
i1
, y
1
), t(x
i2
, y
2
), t(x
i3
, y
3
), t(x
i4
, y
4
), t(x
i5
, y
5
));
- элемент x
i1
имеет значение «4» - P
E
(x
i1
, 4).
Предикат (g
i
:X) Р
s
(g
i
, SELECT (x
i3
),
r
t
2
) соответствует утверждению, что существует вершина g
i
,
которая находится в отношении квалификации с оператором SELECT.
В этом случае элементы продукции pr
8
Tr
записываются в виде:
q
8
Tr
= P
par
(τ
i
, t(x
i1
, y
1
), t(x
i2
, y
2
), t(x
i3
, y
3
), t(x
i4
, y
4
), t(x
i5
, y
5
)) P
E
(x
i1
, 4) (g
i
:X) Р
s
(g
i
, SELECT (x
i3
),
r
t
2
); r
8
Tr
= add [Р
s
(SELECT, x
i3
,
r
t
2
)].
Правило девятое. Атрибуты вершины g
i
могут быть внесены в список Select_list ключевого
слова «SELECT» тогда и только тогда, когда имеет место закономерность, описываемая конъюнкцией
следующих фактов:
- вершина g
i
имеет вектор
τ
i
- P
par
(τ
i
, t(x
i1
, y
1
), t(x
i2
, y
2
), t(x
i3
, y
3
), t(x
i4
, y
4
), t(x
i5
, y
5
));
- элемент x
i1
имеет значение «1» - P
E
(x
i1
, 1);
- вершина g
i
имеет атрибуты с признаком «h» (P
f
(t
in
(g
i
), t(z
1
, …, z
n
), f
29
), где f
29
- ссылка
на процедуру F
29
, которая осуществляет поиск атрибутов с признаком «h» в параметрическом
135
     Предикат (∃gi:X) Рs(gi, FROM (g), t 2r ) соответствует утверждению, что существует вершина gi,
которая находится в отношении квалификации с оператором FROM.
     В этом случае элементы продукции pr4Tr записываются в виде:
     q4Tr = Ppar(τi, t(xi1, y1), t(xi2, y2), t(xi3, y3), t(xi4, y4),
                                                                  135t(xi5, y5)) ∧ PE(xi1, 1) ↔ (∃gi:X) Рs(gi, FROM (g), t 2r );
r4Tr = add [Рs(FROM, g, t 2r )].
          Правило пятое. Вершина gi может быть внесена в список table_source ключевого слова «FROM»
тогда и только тогда, когда имеет место закономерность, описываемая конъюнкцией следующих
фактов:
          - вершина gi имеет вектор τi - Ppar(τi, t(xi1, y1), t(xi2, y2), t(xi3, y3), t(xi4, y4), t(xi5, y5));
          - элемент xi1 имеет значение «2» - PE(xi1, 2).
          Предикат (∃gi:X) Рs(gi, FROM (xi2), t 2r ) соответствует утверждению, что существует вершина gi,
которая находится в отношении квалификации с оператором FROM.
          В этом случае элементы продукции pr5Tr записываются в виде:
          q5Tr = Ppar(τi, t(xi1, y1), t(xi2, y2), t(xi3, y3), t(xi4, y4), t(xi5, y5)) ∧ PE(xi1, 2) ↔ (∃gi:X) Рs(gi, FROM (xi2),
t 2r ); r5Tr = add [Рs(FROM, xi2, t 2r )].
          Правило шестое. Вершина gi может быть внесена в список table_source ключевого слова
«FROM» тогда и только тогда, когда имеет место закономерность, описываемая конъюнкцией
следующих фактов:
          - вершина gi имеет вектор τi - Ppar(τi, t(xi1, y1), t(xi2, y2), t(xi3, y3), t(xi4, y4), t(xi5, y5));
          - элемент xi1 имеет значение «4» - PE(xi1, 4).
          Предикат (∃gi:X) Рs(gi, FROM (xi2), t 2r ) соответствует утверждению, что существует вершина gi,
которая находится в отношении квалификации с оператором FROM.
          В этом случае элементы продукции pr6Tr записываются в виде:
          q6Tr = Ppar(τi, t(xi1, y1), t(xi2, y2), t(xi3, y3), t(xi4, y4), t(xi5, y5)) ∧ PE(xi1, 4) ↔ (∃gi:X) Рs(gi, FROM (xi2),
t 2r ); r6Tr = add [Рs(FROM, xi2, t 2r )].
          Правило седьмое. Вершина gi может быть внесена в список Select_list ключевого слова
«SELECT» тогда и только тогда, когда имеет место закономерность, описываемая конъюнкцией
следующих фактов:
          - вершина gi имеет вектор τi - Ppar(τi, t(xi1, y1), t(xi2, y2), t(xi3, y3), t(xi4, y4), t(xi5, y5));
          - элемент xi1 имеет значение «2» - PE(xi1, 2).
          Предикат (∃gi:X) Рs(gi, SELECT (gi), t 2r ) соответствует утверждению, что существует вершина gi,
которая находится в отношении квалификации с оператором SELECT.
          В этом случае элементы продукции pr7Tr записываются в виде:
          q7Tr = Ppar(τi, t(xi1, y1), t(xi2, y2), t(xi3, y3), t(xi4, y4), t(xi5, y5)) ∧ PE(xi1, 2) ↔ (∃gi:X) Рs(gi, SELECT (gi),
t 2r ); r7 = add [Рs(SELECT, gi, t 2r )].
          Tr

          Правило восьмое. Вершина gi может быть внесена в список Select_list ключевого слова
«SELECT» тогда и только тогда, когда имеет место закономерность, описываемая конъюнкцией
следующих фактов:
          - вершина gi имеет вектор τi - Ppar(τi, t(xi1, y1), t(xi2, y2), t(xi3, y3), t(xi4, y4), t(xi5, y5));
          - элемент xi1 имеет значение «4» - PE(xi1, 4).
          Предикат (∃gi:X) Рs(gi, SELECT (xi3), t 2r ) соответствует утверждению, что существует вершина gi,
которая находится в отношении квалификации с оператором SELECT.
          В этом случае элементы продукции pr8Tr записываются в виде:
          q8Tr = Ppar(τi, t(xi1, y1), t(xi2, y2), t(xi3, y3), t(xi4, y4), t(xi5, y5)) ∧ PE(xi1, 4) ↔ (∃gi:X) Рs(gi, SELECT (xi3),
t 2r ); r8Tr = add [Рs(SELECT, xi3, t 2r )].
          Правило девятое. Атрибуты вершины gi могут быть внесены в список Select_list ключевого
слова «SELECT» тогда и только тогда, когда имеет место закономерность, описываемая конъюнкцией
следующих фактов:
          - вершина gi имеет вектор τi - Ppar(τi, t(xi1, y1), t(xi2, y2), t(xi3, y3), t(xi4, y4), t(xi5, y5));
          - элемент xi1 имеет значение «1» - PE(xi1, 1);
     - вершина gi имеет атрибуты с признаком «h» (Pf(tin(gi), t(z1, …, zn), f29), где f29 - ссылка
на процедуру F29, которая осуществляет поиск атрибутов с признаком «h» в параметрическом