Practicumopdracht 4
(practicum op6 october, inleveren uiterlijk 13 october 2010, 09h00)
A: Wordnet opdracht
Triple20 kan willekeurige triples laden, zoals een triple-dump van wordnet. Omdat deze
triples van zichzelf geen RDF(S) interpretatie hebben kan Triple20 niet veel meer met deze
triples dan ze als ongeordende verzameling laden. Deze opdracht laat U zien wat de kracht is
van het geven van een RDF(S) interpretatie aan deze verzameling triples.
Start Triple20 en laadt de triple versie van wordnet ((File → load_base_ontology
→ wn) (N.B. Let op: wn, dus niet de wnrdfs!).
1. De rdf-file die U hiermee laadt is een file van “triples” waarin geen rdfs:subClassOf
predicate voorkomt. Wat U geladen heeft vindt U dan ook terug onder de rode knoop
<Classes without rdfs:subClassOf>. Inspecteer dit!
2. Zoek naar definities van ‘University’ N.B.: deze zult U niet gemakkelijk kunnen
vinden ...!, Leg uit waarom.
3. Geef aan de property wns:WordForm een rdfs:label interpretatie door het triple toe te
voegen dat wns:WordForm een rdfs:subPropertyOf is van rdfs:label
(kan met drag-and-drop) en zoek opnieuw naar ‘University’. Waarom vindt U deze
WordNet definitie nu wel?
4. Is dit het resultaat dat U wilt hebben? Bedenk aanvullende afbeeldingen van
wns:predicates op rdfs:predicates, zodat U een nette hiërarchie van
woordbetekenissen krijgt (N.B.: de topknoop van de wordnet boom heeft de naam
'entity' en de URI http://www.cogsci.princeton.edu/~wn/concept#100001740).
B: OWL
In de W3C OWL documenten wordt als voorbeeld de wijnontologie gebruikt van Natalya F.
Noy and Deborah L. McGuinness. Ontology Development 101: A Guide to Creating Your
First Ontology . U kunt deze laden in Triple20. Dat gaat als volgt: Laadt eerst de owl-taal
(File -> load_base_ontoly -> Owlfull) en vervolgens de wijn ontologie (File ->
load_ontology en dan browsen naar
geneSemanticWebTriple20OntologiesDemowine.owl ). Beantwoord de volgende vraag:
5. Zoek de definities van “ItalianWine” en “Chianti” en beschrijf van beide concepten
in woorden hoe ze gedefinieerd zijn in OWL. Teken een (venn)diagram waaruit blijkt
welke wijnen ItalianWine zijn.
In de volgende opdracht gaat het er om familieralaties te modelleren in OWL. U gebruikt
Uw eigen familie als voorbeeld om te kijken of alle inferenties die OWL maakt kloppen.
Gebruik voor deze opdracht Triple20 (gebruik de versie op de gene locatie of een up-to-
date thuisinstallatie met Prolog versie 5.11.x: zie Blackboard). Beschrijf een gedeelte van
Uw eigen familie, gebruik makend van de basisconcepten, persoon en gender en de relaties
hasParent en hasGender. Controleer of na het toevoegen van nieuwe klasse-definities
2.
Triple20 de instantiesook onder de juiste klasses plaatst. Beschrijf voor elke klassedefinitie
welke stappen je hebt gedaan. Illustreer je verslag daar waar nuttig (vraag 9 en 10) met
Venn-diagrammen.
Begin als volgt:
• Laadt de 'base-ontology' voor OWLfull
• Zoek het concept owl:Thing en maak daaronder een topknoop (subClassOf) aan
voor de door U te bouwen familie ontologie. Geef Uw topknoop de naam
'family_concept'. Zorg dat U voor dit concept de juiste (eigen) namespace kiest.
Tips:
• N.B.: Triple20 toont alle triples, ook de rdfs definities van OWL en een groot aantal
(afleidbaar overeenkomstig de semantiek van OWL) impliciete triples. Deze
afgeleide triples worden getoond met een 'hoge hoed' als label. U kunt het tonen van
de 'hoge hoed' concepten in- of uitschakelen onder het menu: "view" → "OWL" →
"class extensions".
• Het overzicht in triple20 over de door U gedefinieerde concepten wordt wel eens
bemoeilijkt door alle OWL triples die ook getoond worden. U kunt focuseren op Uw
eigen definities door onder het menu: "view" → "show roots of" → de file-
naam waarop Uw definities staan te kiezen (N.B.: dit werkt alleen na het weer laden
van een eerder bewaarde owl-file).
6. Definieer de subconcepten gender met twee instanties: 'male' en 'female' en 'persoon'.
7. Definieer de volgende properties van het juiste type en met passende domains en
ranges:
hasGender
hasParent
marriedWith
8. Maak vervolgens instanties aan van 'persoon' en geef ze de juiste hasParent en
hasGender waarden. Modelleer ten minste 3 generaties!
9. Definieer nu in OWL de klasse van alle personen met het mannelijke geslacht en
verifieer dat alle door U ingevulde familieleden juist geklassificeerd worden (gebruik
hiervoor owl:Restrictions).
10.Beschrijf hoe/waarom dit classificeren werkt onder OWL.
N.B. Bewaar Uw files, want U heeft ze nodig voor de latere opdracht 'redeneren met OWL'