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

UptoLike

71
- вершина
1
~
+
i
g имеет значение x
j
- P
s
(
1
~
+
i
g , x
j
);
- вершина
i
g
~
имеет векторов
η
i
- P
par
(η
i
, t(z
1
, y
1
), t(z
2
, y
2
), t(z
3
, y
3
));
- вершина
1
~
+
i
g имеет векторов
η
i+1
- P
par
(η
i
, t(z
1
, y
5
), t(z
2
, y
6
), t(z
3
, y
7
));
- x
i
эквивалентно x
j
- P
Е
(x
i
, x
j
).
Тогда исходное состояние d
0
будет задаваться парой вершин
Ggg
ii
+
~
~
,
~
1
и
соответствующих им векторов
η
i
,
η
i+1
:
d
0
= P
s
(
i
g
~
, x
i
) P
s
(
1
~
+
i
g , x
j
) P
par
(η
i
, t(z
1
, y
1
), t(z
2
, y
2
), t(z
3
, y
3
)) P
par
(η
i
, t(z
1
,
y
5
), t(z
2
, y
6
), t(z
3
, y
7
)).
(3.17)
А элементы продукции записываются в виде pr
14
Tr
:
q
14
Tr
= P
s
(
i
g
~
, x
i
)
P
s
(
1
~
+
i
g , x
j
)
P
par
(η
i
, t(z
1
, y
1
), t(z
2
, y
2
), t(z
3
, y
3
)) P
par
(η
i
, t(z
1
, y
5
), t(z
2
,
y
6
), t(z
3
, y
7
), t(z
4
, y
8
)) P
Е
(x
i
, x
j
) P
Е
(y
1
, y
5
)P
Е
(y
2
, y
6
)P
Е
(y
3
, y
7
);
r
14
Tr
= elim[
i
g
~
].
Дальнейшее преобразование графа
G
~
в граф
G
~
заключается в переименовании
терминов логической модели данных, расположенных в оставшихся вершинах
Gg
~
~
, на
термины физической модели данных. При этом каждой вершине
Gg
i
~
~
приписывается
вектор
τ
i
=<x
i1
, x
i2
, x
i3
, x
i4
, x
i5
>, где:
x
i1
тип вершины: 1- таблица, 2 – столбец, 3 – оператор; 4 - значение;
x
i2
идентификатор таблицы, если x
1
=2 или 4, в противном случае null;
x
i3
- идентификатор столбца, если x
1
=4, в противном случае null;
x
i4
- null или 1 - признак добавленной вершины;
x
i5
- вид связи: 1 – связь «таблицатаблица», 2 – связь «атрибутзначение», 3 – связь
«атрибутлогическая операциязначение», 4 – связь «вычислительная процедура
атрибут», 5 – связь «атрибутатрибут», 6 – связь «таблицаатрибут».
Признак добавленной вершины x
4
и вид связи x
5
вектора
τ
i
заполняются в процессе
анализа пары смежных вершин на тип взаимосвязи при построении операторов SQL
(раздел 3.3).
Для построения графа
G
~
необходимо сформировать множество предикатов
Γ
,
которое включает в себя подмножество предикатов перевода
Γ
8
, основу которого
составляют предикаты физической модели данных, входящие во вторую группу знаний
метаописания базы данных и условие применимости q
15
Tr
pr
15
Tr
:
Г =
Γ
8
q
15
Tr
={),,(
r
trs
tyxP }{),),,...,((
1
r
trks
tyxxtP } q
15
Tr
.
(3.18)
Доказательство осуществляется аналогично доказательству предыдущих гипотез, а d
0
задается в виде:
d
0
= ( ),,(
r
tris
tyxP ),),((
r
tris
tyxtP ) P
par
(η
i
, t(z
1
, y
1
), t(z
2
, y
2
), t(z
3
, y
3
)).
(3.19)
При доказательстве данной гипотезы необходимо рассмотреть четыре ситуации.
Первая ситуация касается случая, когда вершина
i
g
~
является сущностью, а втораякогда
вершина
i
g
~
является атрибутом логической модели данных, третьякогда вершина
i
g
~
является оператором и четвертаякогда вершина
i
g
~
является значением базы данных.
Первая ситуация. Вершина
i
g
~
является сущностью, и ее можно заменить на
соответствующий термин физической модели данных с вектором
τ
i
=<x
i1
, x
i2
, x
i3
, x
i4
, x
i5
>
       -   вершина g~i′+1 имеет значение xj - Ps( g~i′+1 , xj);
       -   вершина g~i′ имеет векторов ηi - Ppar(ηi, t(z1, y1), t(z2, y2), t(z3, y3));
       -   вершина g~ ′ имеет векторов η - P (η , t(z , y ), t(z , y ), t(z , y ));
                         i +1                     i+1    par   i    1   5     2   6     3       7

       -   xi эквивалентно xj - PЕ(xi, xj).
                                                                                                    ~ ~        ~
     Тогда исходное состояние d0 будет задаваться парой вершин g i′ , g i′+1 ∈ G ′ и
соответствующих им векторов ηi, ηi+1:
  d0 = Ps( g~i′ , xi) ∧ Ps( g~i′+1 , xj) ∧ Ppar(ηi, t(z1, y1), t(z2, y2), t(z3, y3)) ∧ Ppar(ηi, t(z1,
                                                                                                          (3.17)
                                       y5), t(z2, y6), t(z3, y7)).
     А элементы продукции записываются в виде pr14Tr:
     q14 Tr= Ps( g~i′ , xi) ∧ Ps( g~i′+1 , xj) ∧ Ppar(ηi, t(z1, y1), t(z2, y2), t(z3, y3)) ∧ Ppar(ηi, t(z1, y5), t(z2,
y6), t(z3, y7), t(z4, y8)) ∧ PЕ(xi, xj) ↔ PЕ(y1, y5)∧PЕ(y2, y6)∧PЕ(y3, y7);
       r14Tr= elim[ g~i′ ].
                                                        ~               ~
     Дальнейшее преобразование графа G ′ в граф G заключается в переименовании
                                                                              ~
терминов логической модели данных, расположенных в оставшихся вершинах g~ ′ ∈ G ′ , на
                                                                 ~
термины физической модели данных. При этом каждой вершине g~ ∈ G приписывается              i

вектор τi =, где:
     xi1 – тип вершины: 1- таблица, 2 – столбец, 3 – оператор; 4 - значение;
     xi2 – идентификатор таблицы, если x1=2 или 4, в противном случае null;
     xi3 - идентификатор столбца, если x1=4, в противном случае null;
     xi4 - null или 1 - признак добавленной вершины;
     xi5 - вид связи: 1 – связь «таблица – таблица», 2 – связь «атрибут – значение», 3 – связь
«атрибут – логическая операция – значение», 4 – связь «вычислительная процедура –
атрибут», 5 – связь «атрибут – атрибут», 6 – связь «таблица – атрибут».
     Признак добавленной вершины x4 и вид связи x5 вектора τi заполняются в процессе
анализа пары смежных вершин на тип взаимосвязи при построении операторов SQL
(раздел 3.3).
                                        ~
     Для построения графа G необходимо сформировать множество предикатов Γ,
которое включает в себя подмножество предикатов перевода Γ8, основу которого
составляют предикаты физической модели данных, входящие во вторую группу знаний
метаописания базы данных и условие применимости q15Tr∈pr15Tr:
          Г = Γ8 ∧ q15Tr ={ Ps ( x, y, t trr ) }∧{ Ps (t ( x1 ,..., x k ), y, t trr ) } ∧q15Tr. (3.18)
     Доказательство осуществляется аналогично доказательству предыдущих гипотез, а d0
задается в виде:
       d0 = ( Ps ( xi , y, t trr ) ∨ Ps (t ( xi ), y, t trr ) )∧ Ppar(ηi, t(z1, y1), t(z2, y2), t(z3, y3)). (3.19)
     При доказательстве данной гипотезы необходимо рассмотреть четыре ситуации.
Первая ситуация касается случая, когда вершина g~i′ является сущностью, а вторая – когда
вершина g~ ′ является атрибутом логической модели данных, третья – когда вершина g~ ′
              i                                                                                                     i

является оператором и четвертая – когда вершина g~i′ является значением базы данных.
     Первая ситуация. Вершина g~i′ является сущностью, и ее можно заменить на
соответствующий термин физической модели данных с вектором τi =

                                                         71