Převod ER schémat do ERL Deskripční logiky
Post on 03-Jan-2016
46 Views
Preview:
DESCRIPTION
Transcript
Převod ER schémat do ERL Převod ER schémat do ERL Deskripční logikyDeskripční logiky
Mgr. Marek VajglMgr. Marek Vajgl
PřehledPřehled
• Úvod do problematikyÚvod do problematiky– ER-modelER-model– DeskripDeskripční logikační logika
• Požadavky na transformaciPožadavky na transformaci
• Realizace transformaceRealizace transformace– Transformace entitTransformace entit– Transformace omezeníTransformace omezení
Minimum Deskripční logikyMinimum Deskripční logiky
• Reprezentace pomocí konceptů a rolíReprezentace pomocí konceptů a rolí– Reprezentace entit pomocí konceptůReprezentace entit pomocí konceptů– Binární reprezentace vztahů pomocí rolíBinární reprezentace vztahů pomocí rolí
• Předpoklad otevřeného světaPředpoklad otevřeného světa
• Není apriorní vymezení nad/pod Není apriorní vymezení nad/pod třídy, ale užívá se subsumcetřídy, ale užívá se subsumce– Automatická tvorba taxonomieAutomatická tvorba taxonomie
Výhody ERL proti ER-Výhody ERL proti ER-modelůmmodelům• Jasná reprezentace kvantifikátorů ve vztazíchJasná reprezentace kvantifikátorů ve vztazích• Předpoklad otevřeného světaPředpoklad otevřeného světa• OdvozovatelnostOdvozovatelnost• Kontrolovatelnost dotazů – validace nad ontologií Kontrolovatelnost dotazů – validace nad ontologií
i daty, efektivní vyhodnocováníi daty, efektivní vyhodnocování
Zaba BarvaMáBarvu
Definice užitého ER modeluDefinice užitého ER modelu
• Reprezentace entit a vazeb mezi Reprezentace entit a vazeb mezi nimi s možností určit kardinalitunimi s možností určit kardinalitu
• ISA spojení, disjunktní omezeníISA spojení, disjunktní omezení
• Vícehodnotové atributy Vícehodnotové atributy kardinalita kardinalita atributů a možnost užití nepovinných atributů a možnost užití nepovinných atributůatributů
Požadavky na ERLPožadavky na ERL
• Modelování omezení:Modelování omezení:– Základní Základní – ExplicitníExplicitní– ImplicitníImplicitní
• Splnění implicitních vlastností Splnění implicitních vlastností asociací:asociací:– Explicitní reprezentace vztahůExplicitní reprezentace vztahů– Ověření smysluplnosti vztahů, jejich Ověření smysluplnosti vztahů, jejich
jedinečnostjedinečnost
Požadavky na transformaciPožadavky na transformaci
• Nutným předpokladem je zachování Nutným předpokladem je zachování informační kapacity obou schématinformační kapacity obou schémat– Je třeba vytvořit zobrazení zachovávající Je třeba vytvořit zobrazení zachovávající
ekvivalenci mezi platnými stavy obou ekvivalenci mezi platnými stavy obou schématschémat
– Toto zobrazení zachová ekvivalenci obou Toto zobrazení zachová ekvivalenci obou schématschémat
• Vytvoření validního schématu v ERL DLVytvoření validního schématu v ERL DL
Postup transformacePostup transformace
• Transformace Transformace strukturystruktury– Transformace základní Transformace základní
doménydomény– Transformace tříd Transformace tříd
entitentit– Transformace Transformace
vazebních třídvazebních tříd– Transformace EA-rolíTransformace EA-rolí– Transformace atributůTransformace atributů
• Transformace Transformace omezeníomezení– Transformace Transformace
kardinalitních kardinalitních omezeníomezení
– Transformace ISA Transformace ISA omezeníomezení
– Transformace Transformace disjunktních disjunktních omezeníomezení
Transformace strukturyTransformace struktury
Transformace základní Transformace základní doménydomény• Jedná se o transformaci Jedná se o transformaci
základních domén, tj. základních domén, tj. zpravidla datových typůzpravidla datových typů
• Existuje zde shoda mezi Existuje zde shoda mezi ER a ERLER a ERL
• ττ11 (String) = String (String) = String
• ττ11 (D) = D (D) = D ∈∈ BB
Transformace tříd entitTransformace tříd entit
• Transformace spojuje Transformace spojuje třídy entit s koncepty třídy entit s koncepty entitentit
• Nezahrnuje Nezahrnuje transformaci atributůtransformaci atributů
22(E) ⊑ ⊤(E) ⊑ ⊤ee
22 (Zaměstnanec) ⊑ ⊤ (Zaměstnanec) ⊑ ⊤ee
Zaměstnanec
Transformace vazebních třídTransformace vazebních tříd
• Transformace Transformace svazuje vazební svazuje vazební třídy s vazebními třídy s vazebními konceptykoncepty
• Pro: Pro: L (R) = [UL (R) = [U11:E:E11, U, U22:E:E22
, … U, … Unn:E:Enn] ]
33 (R) ≐ ⊤ (R) ≐ ⊤rr ⊓ ⊓ ( =1 (( =1 (44 (U (U11))))-1-1) ⊓ ) ⊓ … ⊓ … ⊓ ( =1 (( =1 (44 (U (Unn))))-1-1) ⊓ A) ⊓ ARR
44 (U (Uii) ⊑ ) ⊑ DomainDomain((22 (E (Eii)) ⊓ )) ⊓ Range Range ((33 (R)) (R))
Transformace vazebních třídTransformace vazebních tříd
Platí: Platí: L (Pracuje) = [PracujeL (Pracuje) = [PracujeV: Zaměstnanec, V: Zaměstnanec, Zaměstnává: Zaměstnává: Organizace]Organizace]
• Pro: Pro: L (R) = [UL (R) = [U11:E:E11, U, U22:E:E22, … , … UUnn:E:Enn]]
Zaměstnanec OrganizacePracuje
PracujeV(1,1)
Zaměstnává(0,N)
Transformace vazebních třídTransformace vazebních tříd
33(Pracuje) ≐ T(Pracuje) ≐ Trr ⊓ ⊓ (=1 ((=1 (44 (PracujeV)) (PracujeV))-1-1 ⊓ ⊓ (=1 ((=1 (44 (Zaměstnává)) (Zaměstnává))--
1 1 ⊓ A⊓ APracujePracuje
• Platí: Platí: L (Pracuje) = [PracujeL (Pracuje) = [PracujeV: Zaměstnanec, V: Zaměstnanec, Zaměstnává: Zaměstnává: Organizace]Organizace]
Zaměstnanec OrganizacePracuje
PracujeV(1,1)
Zaměstnává(0,N)
Transformace vazebních třídTransformace vazebních tříd
44 (PracujeV) ⊑ (PracujeV) ⊑ DomainDomain ( (2 2
(Zaměstnanec)) ⊓(Zaměstnanec)) ⊓Range Range ((2 2 (Pracuje))(Pracuje))
44 (Zaměstnává) ⊑ (Zaměstnává) ⊑ DomainDomain ( (22 (Organizace)) ⊓ (Organizace)) ⊓ RangeRange ( (22 (Pracuje)). (Pracuje)).
44 (U (Uii) ⊑ ) ⊑ DomainDomain((22 (E (Eii)) ⊓ )) ⊓ Range Range ((33 (R)) (R))
Zaměstnanec OrganizacePracuje
PracujeV(1,1)
Zaměstnává(0,N)
Transformace vazebních třídTransformace vazebních tříd
44 (PracujeV) ⊑ (PracujeV) ⊑ DomainDomain ( (22 (Zaměstnanec)) ⊓ (Zaměstnanec)) ⊓ Range Range ((2 2 (Pracuje))(Pracuje))
44 (Zaměstnává) ⊑ (Zaměstnává) ⊑ DomainDomain ( (22 (Organizace)) ⊓ (Organizace)) ⊓ RangeRange ( (22 (Pracuje)). (Pracuje)).
33(Pracuje) ≐ T(Pracuje) ≐ Trr ⊓ ⊓ (=1 ((=1 (44 (PracujeV)) (PracujeV))-1-1 ⊓ ⊓ (=1 ((=1 (44 (Zaměstnává)) (Zaměstnává))--
1 1 ⊓ A⊓ APracujePracuje
Zaměstnanec OrganizacePracuje
PracujeV(1,1)
Zaměstnává(0,N)
Transformace atributůTransformace atributů
• Transformace atributů Transformace atributů entitentit
• Každý atribut je zobrazen Každý atribut je zobrazen do role, kde doménou je do role, kde doménou je koncept a příslušný obor koncept a příslušný obor hodnothodnot
55 (A (Aii) ⊑ ) ⊑ Domain Domain ((2,32,3 (C)) ⊓ (C)) ⊓ Range Range ((11 (D (Dii)) ))
55 (ZaměstnanecID) ⊑ (ZaměstnanecID) ⊑ Domain Domain ((22 (Zaměstnanec)) ⊓ (Zaměstnanec)) ⊓ Range Range ((11 (Integer)) (Integer))
Zaměstnanec
ZaměstnanecID:int
Transformace omezeníTransformace omezení
Transformace kardinalitních Transformace kardinalitních omezeníomezení
• Transformuje Transformuje kardinalitní omezení kardinalitní omezení na vztazích entit do na vztazích entit do ERLERL
• Pro vazbu:Pro vazbu:LLaa (E, R, U) = (m, M) a (E, R, U) = (m, M) a LLvv (E, A) = (m, M) a (E, A) = (m, M) a vazební třídu R : vazební třídu R : DDee (R) = [A (R) = [A11:D:D11, , AA22:D:D22, …, A, …, Ann:D:Dnn] ]
• Pro LPro Laa: : cardcard (E) ⊑ (≽m (E) ⊑ (≽m 44 (U)) ⊓ (U)) ⊓(≼M (≼M 44 (U)) (U))
• Pro LPro Lvv: : cardcard (E) ⊑ (≽m (E) ⊑ (≽m 55 (A)) ⊓ (A)) ⊓(≼M (≼M 55(A)) (A))
• Pro APro Arr: : (≽m (≽m 55 (A)) ⊓ (A)) ⊓(≼M (≼M 55 (A)) (A))
Transformace vazebních třídTransformace vazebních tříd
LLvv (Testování, Datum) = (Testování, Datum) = (1,5)(1,5)
• LLaa (E, R, U) = (m, M) a (E, R, U) = (m, M) a LLvv (E, A) = (m, M) (E, A) = (m, M)
TestováníZkouší na
(1,1)Je užíván
(1,N)
Datum:DateTime[5]
Tým
Název:String
Okruh
Umístění:StringNázev:String
Transformace kardinalitních Transformace kardinalitních omezeníomezení
TestováníZkouší na
(1,1)Je užíván
(1,N)
Datum:DateTime[5]
Tým
Název:String
Okruh
Umístění:StringNázev:String
33((TestováníTestování) ≐ T) ≐ Trr ⊓ (=1 ( ⊓ (=1 (44 ( (Zkouší naZkouší na))))-1-1 ⊓ ⊓ (=1 ((=1 (44 ( (Je užívánJe užíván))))-1-1 ⊓ ⊓ (≽1 (≽1 55 ( (DatumDatum)) ⊓ (≼5 )) ⊓ (≼5 55 ( (DatumDatum)) ))
Transformace ISA omezeníTransformace ISA omezení
• Mezi třídami entit:Mezi třídami entit:– Transformace dvou Transformace dvou
nevazebních tříd.nevazebních tříd.– Pro ((E, E‘) Pro ((E, E‘) ISA) ISA)
– 22 (E) ⊑ (E) ⊑ 22 (E‘) (E‘)
• Mezi vazebními Mezi vazebními třídami:třídami:– Máme-li 2 vazební třídy Máme-li 2 vazební třídy
R a R‘ v ISA hierarchii, R a R‘ v ISA hierarchii, stačí pouze nadefinovat stačí pouze nadefinovat ISA hierarchii rolí, ISA hierarchii rolí, hierarchie vztahů je hierarchie vztahů je zřejmázřejmá
– 44 (U (U11) ⊑ ) ⊑ 44 (U‘ (U‘11) ) ……44 (U (Unn) ⊑ ) ⊑ 4 (U‘4 (U‘nn) )
Transformace ISA omezeníTransformace ISA omezení
44 (Učí) ⊑ (Učí) ⊑ 44 (PracujeV), (PracujeV),44 (Užívá) ⊑ (Užívá) ⊑ 44 (Zaměstnáv (Zaměstnává) á)
• Zjevně:Zjevně:33 ( (PřiřazeníPřiřazení) ⊑) ⊑33 ( (PracujePracuje) )
22 (Učitel) ⊑ (Učitel) ⊑ 22 (Zaměstnanec) (Zaměstnanec)
PracujeV(1,1)
Zaměstnává(0,N)
Zaměstnanec
ZaměstnanecID:IntPracuje
Organizace
Učí(1,N)
Užívá(0,N)
UčitelPřiřazení
Katedra
Transformace DISJ omezeníTransformace DISJ omezení
• Transformuje Transformuje disjunktní omezení disjunktní omezení mezi dvěma entitamimezi dvěma entitami
• Pro: ((E, E‘) Pro: ((E, E‘) DISJ) DISJ)
22 (E) ⊑ (E) ⊑ 22 (E‘) (E‘)
Osoba
Učitel StudentDISJ
22 (Učitel) ⊑ (Učitel) ⊑ 22(Student) (Student)
Vlastnosti transformaceVlastnosti transformace
• Korektní terminologie ERLKorektní terminologie ERL• Alespoň stejná informační kapacitaAlespoň stejná informační kapacita• Asociace reprezentovány explicitně Asociace reprezentovány explicitně
pomocí vazebních konceptůpomocí vazebních konceptů• Vazební koncepty zachycují všechny Vazební koncepty zachycují všechny
implicitní vlastnosti asociacíimplicitní vlastnosti asociací– Omezení přesně jedenOmezení přesně jeden– Různé instance vazeb neurčují stejnou Různé instance vazeb neurčují stejnou
vazbuvazbu
Možnosti dalšího užitíMožnosti dalšího užití
• Tato definice schémat lze užít pro tvorbu T-Boxu Tato definice schémat lze užít pro tvorbu T-Boxu v dalších reprezentacích deskripční logikyv dalších reprezentacích deskripční logiky
22 (Učitel) ⊑ (Učitel) ⊑ 22 (Zaměstnanec) (Zaměstnanec)
33((TestováníTestování) ≐ T) ≐ Trr ⊓ (= ⊓ (=1 (1 (44 ( (Zkouší naZkouší na))))-1-1 ⊓ ⊓ (=1 ((=1 (44 ( (Je užívánJe užíván))))-1-1 ⊓ ⊓ (≽1 (≽1 55 ( (DatumDatum)) ⊓ (≼5 )) ⊓ (≼5 55 ( (DatumDatum))))
• (define-primitive-(define-primitive-concept t2Učitel concept t2Učitel t2Zaměstnanec)t2Zaměstnanec)
• (define-concept (define-concept t3Testovani t3Testovani (and *top* (and *top* (exactly InvZkousiNa) (exactly InvZkousiNa) (exactly InvJeUzivan) (exactly InvJeUzivan) (at-least 1 t5Datum) (at-least 1 t5Datum) (at-most 5 t5Datum)))(at-most 5 t5Datum)))
Užité zdrojeUžité zdroje
• The Racer Systém –The Racer Systém –http://www.sts.tu-harburg.de/~r.f.moeller/racer/dhttp://www.sts.tu-harburg.de/~r.f.moeller/racer/download.htmlownload.html
• HACID Mohand-Said, PETIT Jean-Marc, TOURMANI HACID Mohand-Said, PETIT Jean-Marc, TOURMANI Farouk: Representing and Reasoning on Database Farouk: Representing and Reasoning on Database Conceptual Schemas. Knowl. Inf. Syst. 3(1): s. 52-Conceptual Schemas. Knowl. Inf. Syst. 3(1): s. 52-80 (2001) 80 (2001) ––wwwww.springerlink.com/index/H2GTG2H4M24ED3XD.pw.springerlink.com/index/H2GTG2H4M24ED3XD.pdfdf
• FRANCONI Ernico: Description Logics – FRANCONI Ernico: Description Logics – Description Logics and DatabasesDescription Logics and Databases – – http://www.inf.unibz.it/~franconi/dl/course/2002/shttp://www.inf.unibz.it/~franconi/dl/course/2002/slides/db/db.pdflides/db/db.pdf
top related