Modelleeromgevingen
• Er zijn maar een aantal editors om te
modelleren
• Ontologie wordt vaak op meta niveau
uitgewerkt zonder visualisatie
• Schemas en constraints vaak in ontologie
(ook zonder visualisatie)
4
Modelleeromgevingen
• Onotoa, TMLab
– met schema/TMCL en visualisatie
• Ontopoly, Bouvet
– met meta-ontologie
• Kamala, Morpheus
– met meta-ontologie
5
Training Topic Maps
Modelleren
• Cyclus, Theorie, terminologie,
regels
• De 7 hoofdstappen
• Ontopoly
• LTM
10
Topic Maps Ontologie
• topic types
– stad, kamerlid, politieke partij
• association types
– geboren-in, lid-van
• association role types
– werknemer, werkgever
• occurrence types
– rapport, website, datum
• type hierarchy
– kamerlid ISA persoon
– stad ISA plaats
12
Ontologie uitdrukken
• Ontologie is Commissie Lid van Commissie-
lid
deel van de
topic map(s) ontologie
• De types zijn instanties
ook topics
A.C. Kant
A. Pechtold
Financiële
Commissie
Semantiek ?
• Als topics worden verbonden dan wordt
het meer betekenisvol
• Beweringen maken over topics
(bijvoorbeeld over de duur) Contract
Employee Employment Employer
role type association type role type
role player role association role role player
Quintin Morpheus
Siebers
2 regels voor modelleren
1.Er zijn veel foute manieren om te
modelleren,
maar er is niet maar 1 correcte manier
– Er zijn vaak aannemelijke alternatieven
– De beste oplossing hangt af van de
applicatie
2 regels voor modelleren
• Ontologie ontwikkeling is vaak een
iteratief proces
• Tijdens ontwikkeling wil je vaak
beslissingen herzien
• Gelukkig is het topic map model zo
flexibel dat het geen grote impact heeft
op je applicatie
• Prototyping is altijd goed
Topic map ontologie
ontwerp
• Een vorm van knowledge engineering
• Start is vaak vanuit bestaande informatie
bronnen
– Een eerste set omzetten naar Topic Maps
Noodzakelijk:
– domein expertise
– Begrip van topic map paradigma
– data modellering vaardigheden
• Vaak een team inzet
1. Bepaal domein en scope
Bepaal domein Ontsluit en Belangrijkste items
en scope Hergebruik identificeren
Initiele definitie van classes
Topic Association Occurrence
types types types
Stapsgewijs verfijnen van types
Topic Association Occurrence
types types types
Review Documentatie
Bepaal domein en scope
• Limiteer de reikwijdte
– Welke onderwerpen in/uit scope?
– Welke informatie bronnen?
• Overwegingen eindgebruikers
– Doelgroep en hoofd navigatie paden?
• Bewerkingsmogelijkheden
– Terugschrijven naar brondata? Bewerking
en verrijkingsmogelijkheden?
2. Ontsluit en hergebruik
Bepaal domein Ontsluit en Belangrijkste items
en scope Hergebruik identificeren
Initiele definitie van classes
Topic Association Occurrence
types types types
Stapsgewijs verfijnen van types
Topic Association Occurrence
types types types
Review Documentatie
2. Ontsluit en hergebruik
• Don’t reinvent the wheel!
• Delen zijn vaak al beschikbaar (semi-
automatisch ontsluiten)
• ...binnen de organisatie
– gebruik db schemas, converteer databases
informatie analyses,
• .. buiten organisatie
– Hergebruik bestaande ontologieen, rdf
3. Belangrijkste items
identificeren
Bepaal domein Ontsluit en Belangrijkste items
en scope Hergebruik identificeren
Initiele definitie van classes
Topic Association Occurrence
types types types
Stapsgewijs verfijnen van types
Topic Association Occurrence
types types types
Review Documentatie
4. Initiële classes
Bepaal domein Ontsluit en Belangrijkste items
en scope Hergebruik identificeren
Initiele definitie van classes
Topic Association Occurrence
types types types
Stapsgewijs verfijnen van types
Topic Association Occurrence
types types types
Review Documentatie
Initiële definitie van classes
1. Definieer topic types
– Details later uitwerken
2. Definieer association types
– association role types pas later
3. Definieer occurrence types
Wat is een type?
• De definitie van type is afhankelijk van
wie je het vraagt
– Verzameling van dingen die iets
gemeenschappelijk hebben
– Een categorie, die een verzameling van
dingen heeft waarvan je kan zeggen dat
er instanties zijn van die categorie
?
Identifeer topic types
• Een type is een bepaalde categorie dat
instanties heeft
– "persoon" is een type, iemand is een
persoon of niet
• Als het geen instanties heeft dan is
het misschien geen type
– “advocaat" is een slecht type, omdat ze
hooguit zo zijn te identificeren op werk,
ze zien er gewoon uit als mensen
Identifeer types van
associaties
• Alles wat een relatie is tussen topics is
een assocatie
– Bij het verfijnen in stap 5 filteren we
Defineer occurrence types
• Informatie bronnen in de topic map zijn
verbonden met externe occurrences
• Informatie bronnen
– documenten, plaatjes, web sites/pages,
Kenmerken zijn occurrence
types
• Kenmerken zijn interne occurrences
– start datum / eind datum
– hoogte / breedte / lengte
– telefoonnummer / geboortedatum
5. Stapsgewijs verfijnen
Bepaal domein Ontsluit en Belangrijkste items
en scope Hergebruik identificeren
Initiele definitie van classes
Topic Association Occurrence
types types types
Stapsgewijs verfijnen van types
Topic Association Occurrence
types types types
Review Documentatie
Verfijnen
• Verfijn topic types
• Modelleer namen van topics
• Verfijn association types
• Verfijn occurrence types
Representatie van type
hierarchie
• Gebruik associaties tussen getypeerde
topics
– superclass-subclass(person : superclass,
man : subclass)
– superclass-subclass(person : superclass,
woman : subclass)
• Gebruik XTM 1.0 PSIs
– http://www.topicmaps.org/xtm/1.0/core
.xtm#superclass-subclass
Waarom een type hierarchie?
• Als je de types al in de hierarchie hebt
dan wordt door het toevoegen van de
supertype/subtype associaties de
relaties duidelijker
• Idem voor Broader en Narrower Terms
in thesaurus
• Het is ook heel handig bij constraints
Association role types
• Doel is om aan te geven wat iedere
topic in de associatie doet
• Alle associatie types moeten een rol
type hebben Employee Employment Employer
role type association type role type
role player role association role role player
Quintin Morpheus
Siebers
Hoeveel rollen?
• Associaties kan vele aantallen rollen hebben
• Binaire komen het meest voor
• Maar soms heb je er meer nodig
child parenthood father
Sem Peter-Paul
mother
Mirjam
Kan je ook 1 role hebben?
• Ja, er zijn ook unary associations
• Deze representeren vaak Ja/Nee
condities
living is-alive
lars-marius
Vuistregels voor association
roles
• Hou het aantal rollen zo laag mogelijk
• Vermijd herhalende rollen
– Als een van de rollen meerdere keren
voorkomt in de associatie dan zou dit
kunnen betekenen dat de associatie een
verzameling of groep representeert
• In zo’n geval heb je misschien een topic nodig
voor die verzameling of groep
Verzinnen van role types
• Veel associations komen veel voor:
– employment(employee, employer)
– part-whole(part, whole)
– containment(container, containee)
– parent-child(parent, child)
– located-in(located, location)
– is-about/has-subject(subject, work)
Namen van association types
• Intuïtieve labels
• Zelfstandige naamwoorden
– Drukt de aard van de relatie uit
• Werkwoorden :
– Erg natuurlijk, maar ze drukken een
richting uit (subject-werkwoord-object)
– Overweeg meerdere namen in
verschillende scopes
6. Documentatie van de
ontologie
• Ontologie is noodzakelijk maar is niet altijd
genoeg
– Als meer personen gebruik gaan maken van de
ontologie dan is documentatie noodzakelijk
– Enkele personen toon je de ontologie niet
• Voordelen van documentatie
– Lifesaver in toekomst
– Garandeert overeenstemming met team
• Documentatie in verschillende vormen
– Ook als published subject indicators
Identificatie
• Published subject identifiers
• Dit betekent URIs voor de topics
– Aanbevolgen omdat het applicatie
ontwikkelling verbetert
– Versimpelt merging (en integratie)
• Betekent ook 1 of meer web pages die
helpen in documentatie:
– http://psi.oasis-open.org/iso/3166/ (Countries)
– Datum (date) van Dublin Core:
http://purl.org/dc/elements/1.1/date
Conclusie
• Ontologie Modelleren is een kunst, niet
een wetenschap
– Het perfect antwoord bestaat niet
• Veel van de beslissingen hangen af van
externe factoren
– Het gebruik van de ontologie
– Systemen die worden verbonden aan de
topic map applicatie
• Bij twijfel : go for beauty !
Meer zaken om te
verbeteren
• Ga voor meer n-ary associaties (versus
binary)
• Werk met meer constraints en meta-
ontologieen
• Meer PSIs