1. 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
2. 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
3. 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
4. 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)
5. 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
6. 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.