next up previous contents
Next: Examples of Modal Up: Examples with the Previous: Which manager works

What is Edna's salary?

 

An example with a possessive construction.

ENG: what is edna's salary
SYN: (s(np(ipron(what)))(vp(v(is))(np(np(np(propn(edna)))
      (possessive(s)))(n(n(salary))))))
 PT: some(y,`of:`edna:`salary:y and `be:y:fvi1)
FOL: exists(y,of(y,`salary,`edna)&be(fvi1,y))
URC: {fvi1;exists(y,[`edna,*,y,*]:emp&fvi1=y)}
DRC: {fvi1:emp![sal];exists(y:emp![sal],[`edna,*,y,*]:emp&fvi1=y)}
OP1: {fvi1:emp![sal];exists(skf1:emp![sal],
      [`edna,*,skf1,*]:emp&fvi1=skf1)}

PAR: which salary is a salary that is earned by edna

TRC: {fvi1!sal;fvi1:emp;exists(skf1:emp,exists(tuple1:emp,
      tuple1!name=edna&tuple1!sal=skf1!sal)&fvi1!sal=skf1!sal)}
OP2: {fvi1!sal;fvi1:emp;
      exists(sk2:emp,sk2!name=edna&fvi1!sal=sk2!sal)}
OP3: {fvi1!sal;fvi1:emp;
      exists(sk2:emp,sk2!name=edna&fvi1!sal=sk2!sal)}
SQL: SELECT DISTINCT fvi1.sal FROM emp fvi1 
      WHERE EXISTS(SELECT * FROM emp sk2 
       WHERE (sk2.name='edna' AND fvi1.sal=sk2.sal));

|sal                 |
|--------------------|
|            $2000.00|
|--------------------|
(1 rows)


URC: {fvi1;exists(y,[`edna,*,y,*]:emp&[fvi1,y,*,*]:emp)}
CHK: Query not meaningful with respect to current database



Chris Fox, September 1995