selykielen suunnittelu ja toteutus Samu Viita
selykielen suunnittelu ja toteutus Samu Viita
selykielen suunnittelu ja toteutus Samu Viita
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
61res(X) where diam is_property_of Y,X is_path_to Y.Kyselyssä määritellään ensin, että muuttu<strong>ja</strong>n Y tulee olla oliotyyppi, jolla onominaisuus diam. Tämän jälkeen ilmaistaan, että X on Y:hyn johtava polku. Vastauksenasaadaan siis tuple-muotoiset polkuesitykset poluista, jotka johtavatoliotyyppeihini rear_axle, chainring, pedals <strong>ja</strong> wheel. Jos tietyllä tyypillä on useampipolkuvaihtoehto, kaikki vaihtoehdot saadaan vastaukseksi. Ylläolevaankyselyyn tuotetaan seuraava vastaus esimerkkitietokannan yhteydessä.res(t(tricycle,rear,rear_axle))res(t(bicycle,drivegear,chainring))res(t(tricycle,steering,pedals))res(t(bicycle,drivegear,pedals))res(t(tricycle,steering,wheel))res(t(tricycle,rear,wheel))res(t(bicycle,wheel))res(t(bicycle,steering,wheel))Tricycle:n oh<strong>ja</strong>uksen komponenttien nimet <strong>ja</strong> niiden ominaisuuksien nimet saadaanselville seuraavalla kyselyllä:res(X,Y) where apply_to [tricycle],X is_component_type_of steering, Yis_property_of X.Ensin ilmaistaan, että tarkastelu rajoitetaan vain tricycle:n osakokonaisuussuhteeseen.Tämän jälkeen ilmaistaan, että X-muuttu<strong>ja</strong> alustetaanoh<strong>ja</strong>uksen komponentilla <strong>ja</strong> että Y-muuttu<strong>ja</strong> on X-muuttu<strong>ja</strong>n sisältämän komponentinominaisuus. Tulosrelaatio koostuu X- <strong>ja</strong> Y-muuttujien seuraavista arvoista.res(front_axle,l)res(front_axle,weigth)res(handlebar,b)res(handlebar,weigth)res(pedals,diam)res(pedals,weigth)res(wheel,diam)res(wheel,r_type)