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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

551. arg1 is_instance_of arg22. arg1 : arg23. arg1 is_composite_object_of arg24. arg1 is_component_object_of arg25. arg1 is_basic_object6. arg1 is_top_objectEnsimmäinen primitiivi ilmaisee luokan <strong>ja</strong> sitä vastaavan ilmentymän. Argumenttinaarg1 on olio (ekstensionaalinen taso), joka kuuluu oikealla puolellaolevaan luokkaan (intensionaalinen taso). Luokka ilmaistaan argumentilla arg2.Alla on kolme esimerkkiä primitiivin käytöstä.1. X is_instance_of saddle2. (tricycle|543664) is_instance_of X4. X is_instance_of Y.Ensimmäisessä esimerkissä saadaan esimerkkitietokannasta oliot, joilla on olioidentiteetito10,o15,o27,o29,o34 <strong>ja</strong> o46. Toisessa esimerkissä primitiiville annetaanProlog++ -esitystavan mukainen oliorakenne <strong>ja</strong> vastaukseksi saadaan tricycle.Tämänkaltaista kyselyä ei ole järkevää tehdä, mutta jos on kyse muuttu<strong>ja</strong>stajoka on alustettu olioksi, on tällaisesta primitiivin käyttötavasta useissakintilanteissa hyötyä. Kolmannessa esimerkissä saadaan vastaukseksi kaikki tietokannanoliot <strong>ja</strong> niitä vastaavat oliotyypit.Toinen primitiivi on tarkoitettu olion ominaisuuksien arvojen selvittämistätai tietyillä ominaisuuden arvoilla olevien olioiden etsimistä varten. Arg1 onolio <strong>ja</strong> arg2 on muotoa property(arg3) oleva termi, jossa property on sen oliotyypinominaisuus, johon olio arg1 kuluu. Arg3 voi olla joko muuttu<strong>ja</strong> tai attribuutinarvo. Alla olevat esimerkit selventävät primitiivin käyttöä:1. X:material(Y)2. X:material(aluminium)Ensimmäisessä esimerkissä primitiivin käytölle on ehtona, että muuttu<strong>ja</strong> onalustettu olioksi primitiivin käyttöhetkellä. Ensimmäinen esimerkki arvottaaY:n X-olion material-attribuutin arvolla. Jos X on arvotettu esimerkkitietokantammetricycle:n komponenttina olevalla frame-oliolla, jonka id on o14, saadaanvastaukseksi Y = steel . Toisessa esimerkissä primitiiviä käytetään antamaanrajoite. Tarkasteltavan olion täytyy siis täyttää ehto, että sen materialominaisuudenarvona on aluminium. Tällöin ehdon täyttää esimerkkitietokan-

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

Saved successfully!

Ooh no, something went wrong!