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.
54Neljäs primitiivi antaa puolestaan tietokannassa olevien osakokonaisuussuhteidenperustyypit, <strong>ja</strong> sitä käytetään argumentin osalta samaantapaan kuin is_top_type -primitiiviä.Viidennellä primitiivillä saadaan selville oliotyypin ominaisuudet. Argumentillaarg1 ilmaistaan ominaisuus, joka liittyy argumentilla arg2:lla ilmaistuunoliotyyppiin.Esimerkkitietokannasta kyselyX is_property_of wheelantaa tulokseksiX = Diam, X = Rtype <strong>ja</strong> X = W.Kuudes primitiivi antaa argumenttiin arg2 johtavan polkuesityksen argumentissaarg1. Primitiivi antaa kaikki polkuesitykset, joita tietokannasta oliotyypillelöytyy. KyselyX is_path_to wheelantaa esimerkkitietokannasta vastauksetX = t(wheel,steering,tricycle), X = t(wheel,rear,tricycle), X =t(wheel,steering, bicycle) <strong>ja</strong> X = t(wheel,bicycle).Seitsemännessä primitiivissä muuttu<strong>ja</strong> arvottuu sellaisilla oliotyyppeillä, jotkaesiintyvät kaikissa tietokannassa olevissa osa-kokonaisuussuhteissa komponentteina.Kahdeksas primitiivi on samanlainen kuin seitsemäs, mutta vastaussaadaan listaesityksenä. Primitiiviä seitsemän kannattaa käyttää tilanteissa,joissa primitiivin tulosta käsitellään kyselyssä jonkin toisen primitiivin argumenttina.Kahdeksas primitiivi on kätevä tilanteissa, joissa primitiivin tulosta eikäsitellä edelleen, sillä listaesitys on havainnollisempi.6.2.2. Intensionaalis-ekstensionaaliset primitiivitIntensionaalisen <strong>ja</strong> ekstensionaalisen tason yhdistäviä primitiivejä on kielessäkuusi. Tasojen yhdistäminen ilmaistaan siten, että primitiivin toinen argumenttikuuluu ekstensionaaliselle tasolle <strong>ja</strong> toinen intensionaaliselle tasolle. Kieli sisältääseuraavat intensionaalis-ekstensionaaliset primitiivit: