11.07.2015 Views

selykielen suunnittelu ja toteutus Samu Viita

selykielen suunnittelu ja toteutus Samu Viita

selykielen suunnittelu ja toteutus Samu Viita

SHOW MORE
SHOW LESS

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)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!