1. NEED TO GO THROUGH A FILTER. Company[ Department(@dName [KEY]=x1,@dNumber [KEY]=x2)[ Location(@locationName=x3), Controls[ Project(@pName [KEY]=x4,@pNumber [KEY]=x5,@pLocation=x6){functional}], WorksFor[ Employee(@ssn=x7,@bdate=x8,@address=x9,@sex=x10,@salary=x11){functional}[ Name(@fname=x12,@lname=x13){functional}, DependentOf[ Dependent(@dependName=x14,@dependSex=x15,@dependBdate=x16,@relationship=x17){functional}], Supervision(@sssn=x18)]]]] :- Dependent(Y1),Name(Y2),Employee(Y3), Department(Y4),Project(Y5),Location(Y6), Employee(Y7),locations(Y4,Y6),toDepartment(Y5,Y4), worksFor(Y3,Y4),ename(Y3,Y2),dependentsOf(Y1,Y3), INV(supervision)(Y7,Y3),dependentName(Y1,x14),lname(Y2,x13), salary(Y3,x11),dnumber(Y4,x2),address(Y3,x9), pname(Y5,x4),dname(Y4,x1),locationName(Y6,x3), pnumber(Y5,x5),sex(Y3,x10),depSex(Y1,x15), ssn(Y3,x7),plocation(Y5,x6),depBdate(Y1,x16), depRelationship(Y1,x17),fname(Y2,x12),ssn(Y7,x18), bdate(Y3,x8). 2. NEED TO GO THROUGH A FILTER. Company[ Department(@dName [KEY]=x1,@dNumber [KEY]=x2)[ Location(@locationName=x3), Controls[ Project(@pName [KEY]=x4,@pNumber [KEY]=x5,@pLocation=x6){functional}], WorksFor[ Employee(@ssn=x7,@bdate=x8,@address=x9,@sex=x10,@salary=x11){functional}[ Name(@fname=x12,@lname=x13){functional}, DependentOf[ Dependent(@dependName=x14,@dependSex=x15,@dependBdate=x16,@relationship=x17){functional}], Supervision(@sssn=x18)]]]] :- Dependent(Y1),Name(Y2),Employee(Y3), Department(Y4),Project(Y5),Location(Y6), Employee(Y7),Manages(Y8),locations(Y4,Y6), toDepartment(Y5,Y4),departmentManaged(Y8,Y4),manager(Y3,Y8), ename(Y3,Y2),dependentsOf(Y1,Y3),INV(supervision)(Y7,Y3), dependentName(Y1,x14),lname(Y2,x13),salary(Y3,x11), dnumber(Y4,x2),address(Y3,x9),pname(Y5,x4), dname(Y4,x1),locationName(Y6,x3),pnumber(Y5,x5), sex(Y3,x10),depSex(Y1,x15),ssn(Y3,x7), plocation(Y5,x6),depBdate(Y1,x16),depRelationship(Y1,x17), fname(Y2,x12),ssn(Y7,x18),bdate(Y3,x8). 3. NEED TO GO THROUGH A FILTER. Company[ Department(@dName [KEY]=x1,@dNumber [KEY]=x2)[ Location(@locationName=x3), Controls[ Project(@pName [KEY]=x4,@pNumber [KEY]=x5,@pLocation=x6){functional}], WorksFor[ Employee(@ssn=x7,@bdate=x8,@address=x9,@sex=x10,@salary=x11){functional}[ Name(@fname=x12,@lname=x13){functional}, DependentOf[ Dependent(@dependName=x14,@dependSex=x15,@dependBdate=x16,@relationship=x17){functional}], Supervision(@sssn=x18)]]]] :- Dependent(Y1),Name(Y2),Employee(Y3), Department(Y4),Project(Y5),Location(Y6), Employee(Y7),locations(Y4,Y6),toDepartment(Y5,Y4), worksFor(Y3,Y4),ename(Y3,Y2),dependentsOf(Y1,Y3), supervision(Y3,Y7),dependentName(Y1,x14),lname(Y2,x13), salary(Y3,x11),dnumber(Y4,x2),address(Y3,x9), pname(Y5,x4),dname(Y4,x1),locationName(Y6,x3), pnumber(Y5,x5),sex(Y3,x10),depSex(Y1,x15), ssn(Y3,x7),plocation(Y5,x6),depBdate(Y1,x16), depRelationship(Y1,x17),fname(Y2,x12),ssn(Y7,x18), bdate(Y3,x8). 4. NEED TO GO THROUGH A FILTER. Company[ Department(@dName [KEY]=x1,@dNumber [KEY]=x2)[ Location(@locationName=x3), Controls[ Project(@pName [KEY]=x4,@pNumber [KEY]=x5,@pLocation=x6){functional}], WorksFor[ Employee(@ssn=x7,@bdate=x8,@address=x9,@sex=x10,@salary=x11){functional}[ Name(@fname=x12,@lname=x13){functional}, DependentOf[ Dependent(@dependName=x14,@dependSex=x15,@dependBdate=x16,@relationship=x17){functional}], Supervision(@sssn=x18)]]]] :- Dependent(Y1),Name(Y2),Employee(Y3), Department(Y4),Project(Y5),Location(Y6), Employee(Y7),Manages(Y8),locations(Y4,Y6), toDepartment(Y5,Y4),departmentManaged(Y8,Y4),manager(Y3,Y8), ename(Y3,Y2),dependentsOf(Y1,Y3),supervision(Y3,Y7), dependentName(Y1,x14),lname(Y2,x13),salary(Y3,x11), dnumber(Y4,x2),address(Y3,x9),pname(Y5,x4), dname(Y4,x1),locationName(Y6,x3),pnumber(Y5,x5), sex(Y3,x10),depSex(Y1,x15),ssn(Y3,x7), plocation(Y5,x6),depBdate(Y1,x16),depRelationship(Y1,x17), fname(Y2,x12),ssn(Y7,x18),bdate(Y3,x8). 5. NEED TO GO THROUGH A FILTER. Company[ Department(@dName [KEY]=x1,@dNumber [KEY]=x2)[ Location(@locationName=x3), Controls[ Project(@pName [KEY]=x4,@pNumber [KEY]=x5,@pLocation=x6){functional}], WorksFor[ Employee(@ssn=x7,@bdate=x8,@address=x9,@sex=x10,@salary=x11){functional}[ Name(@fname=x12,@lname=x13){functional}, DependentOf[ Dependent(@dependName=x14,@dependSex=x15,@dependBdate=x16,@relationship=x17){functional}], Supervision(@sssn=x18)]]]] :- Dependent(Y1),Name(Y2),Employee(Y3), Department(Y4),Project(Y5),Location(Y6), Employee(Y7),Manages(Y8),locations(Y4,Y6), toDepartment(Y5,Y4),worksFor(Y3,Y4),ename(Y3,Y2), dependentsOf(Y1,Y3),manager(Y3,Y8),manager(Y7,Y8), dependentName(Y1,x14),lname(Y2,x13),salary(Y3,x11), dnumber(Y4,x2),address(Y3,x9),pname(Y5,x4), dname(Y4,x1),locationName(Y6,x3),pnumber(Y5,x5), sex(Y3,x10),depSex(Y1,x15),ssn(Y3,x7), plocation(Y5,x6),depBdate(Y1,x16),depRelationship(Y1,x17), fname(Y2,x12),ssn(Y7,x18),bdate(Y3,x8). 6. NEED TO GO THROUGH A FILTER. Company[ Department(@dName [KEY]=x1,@dNumber [KEY]=x2)[ Location(@locationName=x3), Controls[ Project(@pName [KEY]=x4,@pNumber [KEY]=x5,@pLocation=x6){functional}], WorksFor[ Employee(@ssn=x7,@bdate=x8,@address=x9,@sex=x10,@salary=x11){functional}[ Name(@fname=x12,@lname=x13){functional}, DependentOf[ Dependent(@dependName=x14,@dependSex=x15,@dependBdate=x16,@relationship=x17){functional}], Supervision(@sssn=x18)]]]] :- Dependent(Y1),Name(Y2),Employee(Y3), Department(Y4),Project(Y5),Location(Y6), Employee(Y7),Manages(Y8),locations(Y4,Y6), toDepartment(Y5,Y4),departmentManaged(Y8,Y4),manager(Y3,Y8), ename(Y3,Y2),dependentsOf(Y1,Y3),manager(Y7,Y8), dependentName(Y1,x14),lname(Y2,x13),salary(Y3,x11), dnumber(Y4,x2),address(Y3,x9),pname(Y5,x4), dname(Y4,x1),locationName(Y6,x3),pnumber(Y5,x5), sex(Y3,x10),depSex(Y1,x15),ssn(Y3,x7), plocation(Y5,x6),depBdate(Y1,x16),depRelationship(Y1,x17), fname(Y2,x12),ssn(Y7,x18),bdate(Y3,x8). 7. NEED TO GO THROUGH A FILTER. Company[ Department(@dName [KEY]=x1,@dNumber [KEY]=x2)[ Location(@locationName=x3), Controls[ Project(@pName [KEY]=x4,@pNumber [KEY]=x5,@pLocation=x6){functional}], WorksFor[ Employee(@ssn=x7,@bdate=x8,@address=x9,@sex=x10,@salary=x11){functional}[ Name(@fname=x12,@lname=x13){functional}, DependentOf[ Dependent(@dependName=x14,@dependSex=x15,@dependBdate=x16,@relationship=x17){functional}], Supervision(@sssn=x18)]]]] :- Dependent(Y1),Name(Y2),Employee(Y3), Department(Y4),Project(Y5),Location(Y6), Employee(Y7),WorksOn(Y8),locations(Y4,Y6), toDepartment(Y5,Y4),worksFor(Y3,Y4),ename(Y3,Y2), dependentsOf(Y1,Y3),worker(Y8,Y3),worker(Y8,Y7), dependentName(Y1,x14),lname(Y2,x13),salary(Y3,x11), dnumber(Y4,x2),address(Y3,x9),pname(Y5,x4), dname(Y4,x1),locationName(Y6,x3),pnumber(Y5,x5), sex(Y3,x10),depSex(Y1,x15),ssn(Y3,x7), plocation(Y5,x6),depBdate(Y1,x16),depRelationship(Y1,x17), fname(Y2,x12),ssn(Y7,x18),bdate(Y3,x8). 8. NEED TO GO THROUGH A FILTER. Company[ Department(@dName [KEY]=x1,@dNumber [KEY]=x2)[ Location(@locationName=x3), Controls[ Project(@pName [KEY]=x4,@pNumber [KEY]=x5,@pLocation=x6){functional}], WorksFor[ Employee(@ssn=x7,@bdate=x8,@address=x9,@sex=x10,@salary=x11){functional}[ Name(@fname=x12,@lname=x13){functional}, DependentOf[ Dependent(@dependName=x14,@dependSex=x15,@dependBdate=x16,@relationship=x17){functional}], Supervision(@sssn=x18)]]]] :- Dependent(Y1),Name(Y2),Employee(Y3), Department(Y4),Project(Y5),Location(Y6), Employee(Y7),Manages(Y8),WorksOn(Y9), locations(Y4,Y6),toDepartment(Y5,Y4),departmentManaged(Y8,Y4), manager(Y3,Y8),ename(Y3,Y2),dependentsOf(Y1,Y3), worker(Y9,Y3),worker(Y9,Y7),dependentName(Y1,x14), lname(Y2,x13),salary(Y3,x11),dnumber(Y4,x2), address(Y3,x9),pname(Y5,x4),dname(Y4,x1), locationName(Y6,x3),pnumber(Y5,x5),sex(Y3,x10), depSex(Y1,x15),ssn(Y3,x7),plocation(Y5,x6), depBdate(Y1,x16),depRelationship(Y1,x17),fname(Y2,x12), ssn(Y7,x18),bdate(Y3,x8).