Professional Documents
Culture Documents
03 Ontouml Nonsortals Relations
03 Ontouml Nonsortals Relations
1 / 53
Obsah přednášky
1. Non-sortální typy
2. Non-rigidita a semi-rigidita
3. Stereotypy: «Category», «RoleMixin», «PhaseMixin», «Mixin»
4. Formální a materiální relace: «formal», «material», «Relator»
2 / 53
Non-sortální typy
Nemá vlastní identitu z hlediska našeho vnímání (v implementaci ji mít může: primární
klíč, UUID, ...).
Instance získá od non-sortálního typu obecné vlastnosti ale nikoliv princip identity.
Všechny třídy reprezentující non-sortal typy jsou abstraktní.
Instance non-sortal typu mohou mít různé principy identity.
Například: Pojistitelná věc může být Auto, Budova, Část těla (sportovce).
3 / 53
Kategorie non-sortálních typů
4 / 53
Rigidní non-sortál: «Category»
Rigidní non-sortal reprezentující nutné (□) vlastnosti instancí různých sortálů
Typicky používané pro "kategorizaci" různých «kind» & «subkind», ale pravidla umožňují
i další podtypy.
Typicky tvoří nejsvrchnější vrstvu typů ontologie.
5 / 53
Rigidní non-sortál: «Category» - pravidla
Category může mít (z dosud představených typů) jako podtyp pouze Kind (resp.
SubKind ) nebo jiné Category .
Kind může být podtypem vícero Category a Category mohou být nadtypem vícero
Kind .
(generalization set).
Na druhou stranu, jelikož Category reprezentují vlastnosti vícero druhů, jsou zřídka
complete .
6 / 53
Kategorie non-sortálních typů
7 / 53
Anti-rigidní non-sortály: «RoleMixin» - motivace
Toto je chybný model různých typů zákazníků.
Anti-rigidní typ nemůže být nadtypem rigidního.
«role»
Customer
«kind» «kind»
Person Organisation
8 / 53
Anti-rigidní non-sortály: «RoleMixin»
RoleMixin jsou anti-rigidní a relačně závislé non-sortální typy reprezentující možné (◊)
vlastnosti instancí různých druhů.
Podobně jako Category používáme ke klasifikaci instancí typu Kind , RoleMixin
používáme ke klasifikaci instancí typu Role .
«roleMixin»
Customer
«role» «role»
PersonalCustomer CorporateCustomer
9 / 53
Anti-rigidní non-sortály: «RoleMixin» - použití
«role» «role»
PersonalCustomer CorporateCustomer
10 / 53
Anti-rigidní non-sortály: «RoleMixin» - použití
Order
1..*
«role» «role»
PersonalCustomer CorporateCustomer
11 / 53
Anti-rigidní non-sortály: «RoleMixin» - vzor
F
1..*
«roleMixin»
D A E
«role» «role»
B C
12 / 53
Anti-rigidní non-sortály: «RoleMixin» - příklad
13 / 53
Anti-rigidní non-sortály: «RoleMixin» - příklad
14 / 53
Anti-rigidní non-sortály: «PhaseMixin»
PhaseMixin jsou anti-rigidní non-sortální typy reprezentující možné (◊) intrinsické
vlastnosti instancí různých druhů.
PhaseMixin používáme ke klasifikaci instancí typu Phase .
15 / 53
Kategorie non-sortálních typů
16 / 53
Non-rigidita
Anti-rigidita (R− ) není logickou negací rigidity (R+ ).
Non-rigidita (¬R+ ) je logickou negací rigidity; R− je silnější omezení.
17 / 53
Semi-rigidní non-sortál: «Mixin»
Mixin jsou semi-rigidní non-sortály, tj. reprezentují vlastnosti, které jsou nutné (□) pro
některé instance, ale možné (◊) pro některé jiné instance.
Každý Mixin musí být nadtypem rigidního typu a současně nadtypem non-rigidního
typu.
«mixin» «kind»
Seatable Crate
18 / 53
Semi-rigidní non-sortál: «Mixin» - příklad
«mixin» «kind»
Insureditem House
{disjoint}
19 / 53
Semi-rigidní non-sortál: «Mixin» - příklad
20 / 53
Semi-rigidní non-sortál: «Mixin» - příklad
21 / 53
Rigidní non-sortály
22 / 53
Anti-rigidní non-sortály
23 / 53
Anti-rigidní non-sortály
24 / 53
Semi-rigidní non-sortály
25 / 53
Shrnutí základních kategorií typů OntoUML
26 / 53
Relace v OntoUML
Relace mezi entitami jsou reprezentovány asociacemi (viz první přednáška).
Při podrobnějším pohledu můžeme rozlišit dva typy relací:
Formální relace (Formal Relations)
Materiální relace (Material Relations)
Formální relace existují mezi dvěma entitami přímo, bez dalšího intervenujícího
individua, např. být vyšší než, být starší než.
Vždy jsme schopni identifikovat vnitřní atributy / aspekty entit, které relaci definují: výška
Člověka1 vs. výška Člověka2, věk Člověka1 vs věk Člověka2, apod.
27 / 53
Formální relace
28 / 53
Formální relace
29 / 53
Formální relace
30 / 53
Formální relace
Formální relace jsou vždy relace odvozené – značíme /název .
Odvozené relace jsou takové, které lze dynamicky spočítat na základě ostatních
elementů v modelu.
«category»
* Physical Object
/heavier-than *
«formal»
31 / 53
Formální relace
«mixin»
* Colored Object
/opposite-colored *
«formal»
32 / 53
Materiální relace - motivace
John se ožení s Mary. (A naopak.)
Tím získá některé další atributy, které jsou ovšem existenčně závislé na Marry (např.
jméno manželky, další jmění, atd.).
33 / 53
Materiální relace - motivace
Nyní předpokládejme, že toto jsou všechny vlastnosti, které John získá tím, že se ožení
s Mary.
Tyto vlastnosti získal John v důsledku zakládající události (founding event), které se
stala (svatba, podepsání tzv. sociálního kontraktu).
Jsou to vlastnosti Johna, ale jsou současně existenčně závislé na Mary.
34 / 53
Materiální relace - motivace
35 / 53
Materiální relace - motivace
zakládající události a které jsou externě závislé na stejné entitě, se nazývají qua
individual.
36 / 53
Materiální relace - motivace
Jsou určitým řezem entity z hlediska kontextu materiální relace, tedy representují
agregaci vlastností entity v rámci této relace.
37 / 53
Materiální relace - motivace
Nyní můžeme vytvořit entitu, která je agregací všech qua individuals, které se váží ke
stejné zakládající události a nazveme ji relator.
38 / 53
Materiální relace - motivace
Dále definujeme relaci mediace (mediation), mezi relátorem a entitami, které spojuje.
Mediace je typ existenčně závislé relace.
39 / 53
Materiální relace
40 / 53
Materiální relace
41 / 53
Materiální relace: relátory
Relátory jsou klíčové pro hledání odpovědí na otázky typu "Co to znamená, že John je
ženatý s Mary?", "Proč je pravda tvrdit, že Bill pracuje společnost X a nikoliv pro
společnost Y?", apod.
Relátory jsou tedy určitým *pečetidlem (angl. truthmaker) pro materiální relace. Ta
existuje pouze dokud existuje zakládající relátor (např. při zrušení pracovní smlouvy
končí pracovní vztah).
Relátor může mít hmotný odraz (pracovní smlouva, oddací list), nebo může existovat
pouze v mysli, např. "kamarádit", "býti zasnouben" – takovým relátorům říkáme
společenská úmluva (social contract).
42 / 53
Materiální relace: relátory
Relátory hrají klíčovou roli ve specifikaci vztahů M:N.
V E-R modelování v UML se nazývají vazební entita/objekt, bývají však často opomíjeny,
což může mít za následek vágnost.
Mějme např. vztah:
43 / 53
Materiální relace: relátory a kardinalita
Pacient (P) je ošetřován vícero zdravotnickými jednotkami (ZJ) a P může mít vícero
ošetření (O).
P je ošetřován vícero ZJ, ale P můze mít pouze jedno O.
Vícero P může být ošetřováno jednou ZJ a ZJ může participovat ve vícero O.
P je ošetřován jednou ZJ a P může participovat ve vícero O.
...
44 / 53
Materiální relace: «Relator»
«kind»
Person
«relator»
Treatment
1..* 1..*
«mediation» «mediation»
1 1
«role» «kind»
Patient Medical Unit
45 / 53
Materiální relace: «material»
Pokud chceme vyznačit a pojmenovat i samotnou materiální relaci, použijeme
odvozenou relaci:
«kind»
Person
«relator»
Treatment
1..* 1..*
«mediation» 1 «mediation»
1 1
1..*
«role» «kind»
«material»
Patient Medical Unit
1..* /treated in ► 1..*
«relator» «relator»
«mediation» «mediation» «mediation» «mediation»
Assignment Assignment
1..* 1..* 1..* 1..*
1..*
1..* 1..* 1 1
47 / 53
Materiální relace: příklad
«kind»
Person
«subkind» «subkind»
Man Woman
«relator»
«mediation» «mediation»
Marriage
1..* 1..*
1 1
«role» «role»
◄ /married-to
Husband Wife
1..* «material» 1..*
1..* 1..*
«material»
/husband-of ►
48 / 53
Materiální relace: specializace
«kind»
Person
{disjoint} {disjoint}
49 / 53
Materiální relace: specializace
«kind»
Person
{disjoint}
{disjoint}
«subkind»
«role» «material» MSc. Study
Master Student 0..* /studies ► 1..* Programme
50 / 53
Co je Relator?
Relator je rigidní sortál poskytující identitu, platí pro něj tedy pravidla jako např. pro
Kind , včetně možných podtypů SubKind , Role , a Phase a možných nadtypů
Category , Mixin .
Rozdíl oproti Kind spočívá ve skutečnosti, že musí být truthmaker materiální relace.
Před OntoUML 2.0 byl Relator (stejně Mode a Quality ) aspektem bez identity.
51 / 53
Relator v OntoUML 2.0
52 / 53
Konec přednášky
53 / 53