Sw owl triple20 restriction_howto

6
OWL Restriction in triple20 HOWTO Author: Gideon Maillette de Buy Wenniger email:gmaillet at science.uva.nl Een korte Restriction/OWL in triple20, aan de hand van het voorbeeld in life.owl Stap 0: Open triple 20 en kies File->Load Base Ontology -> OWL Full Laad de file life.owl (=voorbeeld), of b.v. mijnfamilie.owl waarmee je werkt. Stap 1: Maak nieuwe restrictie onder owl:Restriction

Transcript of Sw owl triple20 restriction_howto

Page 1: Sw owl triple20 restriction_howto

OWL Restriction in triple20 HOWTOAuthor: Gideon Maillette de Buy Wennigeremail:gmaillet at science.uva.nl

Een korte Restriction/OWL in triple20, aan de hand van het voorbeeld in life.owl

Stap 0: Open triple 20 en kies File->Load Base Ontology -> OWL FullLaad de file life.owl (=voorbeeld), of b.v. mijnfamilie.owl waarmee je werkt.

Stap 1: Maak nieuwe restrictie onder owl:Restriction

Page 2: Sw owl triple20 restriction_howto

Stap 2: kies de juiste namespace en de naam van de restrictie (e.g. Hier herbivoor restrictie)

Stap 3: Selecteer de instance-tab, en klikk op de button voor add standard properties, naast Predicates

Page 3: Sw owl triple20 restriction_howto

Een on Propertie veld verschijnt, sleep hierin de propertie waarover de restrictie gaat (e.g. Hier “eet”)

Stap 4: Klik nogmaals op de Add property button naast Predicates, een lijst verschijnt

Page 4: Sw owl triple20 restriction_howto

Kies de gewenste soort constraint op de property, bijvoorbeeld hasValue of allValuesFrom:Een nieuw predicaat verschijnt (e.g. AllValuesFrom), kies de waarde (e.g. Klasse Dier) (zie rechts)Het resultaat is dat de carnivore dieren inderdaad als instanties van de restrictie worden afgeleid (zie links onder life:carnivoor restrictie)

Page 5: Sw owl triple20 restriction_howto

Stap 5: Maak vervolgens een subklasse “carnivoor dier” van “dier” aan die de klasse dier en de restrictie carnivoor_restrictie middels een intersectie combineert.

Selecteer de instance-tab, en klik op de knop naast predicates om een nieuw predicaat (e.g. Intersection, union, complement of) toe te voegen. Wij kiezen hier intersection in dit voorbeeld.

Sleep dier en carnivoor_restrictie in het ontstane intersectionOf veld voor het gewenste resultaat

Page 6: Sw owl triple20 restriction_howto

De laatste stap is niet altijd nodig, maar levert vaak wel een mooier resultaat. Door een intersection te maken van een Restrictie en een klasse is het duidelijk dat we instanties van de klasse (e.g. Persoon, Dier) willen, die voldoen aan de restrictie (e.g. Mannelijk, carnivoor).Er zijn tegenvoorbeelden te bedenken waarin wel aan de restrictie wordt voldaan (e.g. Vrouwlijk, carnivoor) , maar het toch niet de gewenste instanties betreft (e.g. Een vrouwlijke hond i.p.v. Een carnivoor, een vleesetende plant i.p.v. Een carnivoor dier).

Belangrijker is dat de constructie van het combineren van klassen en resricties doormiddel van Union, Intersection, Disjoint e.d. Allerlei constructies mogelijk maakt die met alleen restricties niet vaak niet helder mogelijk zijn. Dit laatste komt in het vierder praktikum middels allerlei steeds ingewikkeldere combinaties van het zelfde principe vollop aan bod. Gebruik van Ven-diagrammen werkt hierbij ook in de ontwerp-fase zeer verhelderend. Als de betekenis van klassen in termen van intersecties, unions etc van restricties en andere klassenen (die zelf mogelijk ook weer uit combinaties andere klassen en restricties bestaan) emaal is ontrafelt, dan is de implementatie in triple20 zeer recht toe recht aan. Gebruikmakend van de stappen die hierboven zijn uitgelegd moet dit dan ook goed te doen zijn.