Transcript 1:1

Mentor: prof. dr Milorad Banjanin
Student: Jovana Janković
ER model
podataka
CASE alati
Model
podataka
Ontologija
Ontološki
jezik
OWL
Predikatski
račun prvog
reda
Prolog
Protégé
RDF
Sistem
automatskog
rezonovanje
XML
Modelovanje podataka je jedna od
najvažnijih aktivnosti u procesu razvoja
informacionih sistema koju vrše projektanti
baza podataka na osnovu domenskog
znanja iz određene oblasti.
Ugradnja semantike u model podataka
zavisi od sposobnosti i iskustva
projektanta da kroz određene koncepte
kao što su struktura dijagrama,
ograničenja ili operacije preslika
relevantne osobine realnog poslovnog
sistema.
S obzirom da je
postavljaju se sljedeća pitanja:
Baza podataka je skup međusobno
povezanih podataka koji se čuvaju zajedno
i među kojima ima onoliko ponavljanja koliko
je neophodno za njihovo
optimalno korišćcenje
pri višekorisničkom radu.
Priprema
implementiranog
sistema
za i
Definisanje
teorijskog
modela
ontološki
Analiza,
projektovanje
i implementacija
Analiza
rezultata
empirijskog
istraživanja
Empirijsko
istraživanje
efikasnosti
Razmatranje
perspektiva
i na
korišćenje
zasnovane
u
analize
obrazovnom
semantičke
procesu
u
sinteza
softverske
zaključaka,
podrškekoji
za se
ontološki
odnose
implementirane
softverske
podrške
korektnosti
modela
podataka
nastavnom
radu,
u
okviru
časova
nastave i
mogućih
pravaca
daljeg
razvoja
pozitivne
i negativne
karakteristike,
zasnovanu
analizu semantičke
upotrebom
eksperimentalne
metode.
izrade
primenom
seminarskih
sistema
radova
automatskog
studenata.
sistema.
korektnosti
odnosno prednosti
modela ipodataka.
nedostatke
rezonovanja. sistema.
implementiranog
HIPOTEZE ISTRAŽIVANJA
U oblasti veštačke inteligencije,
Ontologije
koriste
ljudi,
bazeza:
U računarskom
inženjerstvu
pojam
ontologija
se
vezuje
Ontologija se definiše kao
ontologija
podataka
se odnosi
i softverske
na znanja
•
Ponovnu
upotrebu
skup termina koji se koriste da
predstavljanje
aplikacije
znanja
koje dijele
(Reusability)
bi se opisao domen, tj. oblast
(Knowledge
Representation
)
informacije
iz određenog
• Dijeljenje
znanja
iz
određenog
znanja.
domena.
domena
(Sharing)
Specifična
predmetna oblast
znanja
(“…a formal, explicit specification of
a shared
conceptualization”).
ontologija
treba da
treba
«uhvati»
da je
razumljiva,
znanje
prihvaćeno
tj. čitljiva
za
odmašine.
strane
zajednice u
kojoj se
uvodi i
koristi.
Ontologija
apstraktan
eksplicitno
model
su
fenomena
definisani
iz stvarnog
svi
svijeta koncepti
koji se dobija
i
identifikovanjem
ograničenja
relevantnih
koja sekoncepata
koriste
ovih fenomena.
Najpopularniju
“formalna,eksplicitna
definicija
ontologije je dao specifikacija dijeljene
[Gruber 1995]
konceptualizacije“
“Ontologija je skup logičkih aksioma dizajniran
tako da se odnosi na planirano značenje
nekog rječnika”
(“a set of logical axioms designed to
account for the intended meaning of a
vocabulary”).
[Guarino, 1998.]
U ovoj definiciji je istaknuta uloga
teorije logike u značenju i
predstavljanju ontologije.
Definicija :Ontologija O je skup sastavljen od
pet elemenata (C, I, R, F, A), gde je:
C – konačan skup koncepata, apstrakcija kojima
se opisuju objekti realnog sveta,
I – konačan skup instanci koncepata, tj. objekata
stvarnog svijeta,
R – konačan skup relacija između elemenata skupa I,
F – konačan skup funkcija definisanih nad objektima
realnog svijeta,
A – konačan skup aksioma na predikatskom
računu prvog reda koji određuju
značenje klasa objekata, relacija između
objekata i funkcija definisanih nad
objektima realnog sveta.
POSTUPAK IZGRADNJE
ONTOLOGIJE
Izgradnja ontologije
Generisanje alata za
Testiranje aplikacije
Osnovna namjena ontologija
akviziciju znanja
jeste omogućavanje
predstavljanja, prenošenja i
razmjene znanja iz neke oblasti.
Generisanje testne
baze znanja
Izgradnja inicijalne
baze znanja
ONTOLOŠKI JEZICI I ALATI
W3C (World Wide Web Consortium) je
prihvatio sledeće ontološke jezike:
Resource Descriptiom Framework jezik
za semantičke mreže koji služi za opis
resursa na Web-u,
RDF Schema je proširenje RDF jezika,
ONTOLOŠKI JEZICI I ALATI
W3C (World Wide Web Consortium) je
prihvatio sledeće ontološke jezike:
Ontology Interchange Language, jezik
zasnovan na deskriptivnoj logici,
Web Ontology Language i trenutno
predstavlja najpopularniji
ontološki reprezentacioni jezik.
EXtensible Markup Language.
Ontologije se mogu svrstati u tri kategorije, u zavisnosti od
domena, tj. područja koji modeluju:
Ontologije za predstavljanje znanja
(Knowledge Representation Ontology) su
sistemi za predstavljanje znanja koji
sjedinjuju ontološke radne okvire
(Framework).
Znanje se predstavlja ili u KIF formatu
opštem svetskom
(Ontologije
KnowledgeoInterchang
Format)znanju
koji je
(Upper
Ontology);
logičkiLevel
sveobuhvatan
i obezbeđuje definicije objekata, funkcija i
Ontologije specifičnih
relacija domena
ili, pak, (Domain
Specific
Ontology) sa
primarnim fokusom
na kompjuterski
orjentisanom
jeziku
na povezivanju
struktura
i ponašanja
dizajniranom
za razmjenu
znanja
između
kroz
koncept
ovlašćenja.
različitih
programa;
Klasifikacija ontoloških jezika
Ontološki jezici se zasnivaju na
upotrebi XML jezika. Oni moraju
biti kompatibilni sa
drugim industrijskim i Web
standardima.
Formalne osnove svih vodećih
jezika Semantičkog Web-a (OWL,
RDF i RDF(S)) su
zasnovane na klasičnoj
predikatskoj logici.
Protégé – ontološki alat/editor sa
Stanford univerziteta,
baziran na programskom okruženju Java.
Inicijalno je bio softver u oblasti medicine
i biohemijskih nauka, a
trenutno je jedan od vodećih ontoloških
editora u svijetu.
Protégé podržava
nekoliko jezika za
predstavljanje ontologija:
OWL, RDF(S), OIL, XMI
(XML
Metadata Interchange) i
druge.
Grafički prikaz apstraktnih
klasa ontologija
Sa različitim
Opisuje se koncept
(stvar- Thing),
tj. objekat iz realnog
svijeta
koji ostvaruje semantičke
mreže Is-a
Koncepti u realnom svijetu
predstavljaju konkretne
objekte i pojmove.
klasama
(Class) koje
su opisane
osobinama
(Properties )i
drugim
konceptima
ontologije.
Karakteristike i elementi OWL
tehnologija
Postoje tri osnovne vrste osobina:
Instance
• osobine
objekataklase
(Object Properties),
• osobine tipova podataka (Datatype
Properties),
Binarne relacije
• osobine bilješki (Annotation
između jedinki
Properties).
Kvantifikatorska ograničenja
Quantifier Restrictions
Ograničenja
Kardinaliteta
Cardinality Restrictions
Ograničenja u
OWL jeziku
Ograničenja tipa “ima vrijednost”
(hasValue Restrictions).
Skup takvih trojki se
zove RDF graf gdje su
čvorovi grafa subjekti i
objekti.
RDF
Struktura svakog
izraza u RDF je
kolekcija trojki, od
kojih se svaka
sastoji od subjekta,
predikata i objekta.
Namjenjen je
za
predstavljanje
metapodataka
o Web
resursima.
(Resource
Descriptiom
Framework)
radni okvir za
opis i
predstavljanje
informacija
na Web-u.
Struktura RDF izraza
Predicate
Subject
Object
<rdf:Description
subject
predicate object
rdf:about="subject">
<ex:predicate>
predicate(subject,
object)
<rdf:Description
rdf:about="object"/>
</ex:predicate>
subject ex:predicate object.
</rdf:Description>
RDF koristi sljedeće osnovne
koncepte
Grafički model podataka,
Riječnik baziran na URI,
LITERALE,
XML sintaksu (XML Serialization Syntax)
PREDSTAVLJANJE JEDNOSTAVNIH ČINJENICA,
SEMANTIČKE VEZE IMEĐU IZRAZA,
MODELI PODATAKA
Formalna
apstrakcija putem koje se realni
svijet preslikava u bazu podataka.
Specifične teorije pomoću kojih se
vrši specifikacija i projektovanje
konkretnih baza podataka
i informacionih sistema.
Modelom podataka
se, preko skupa podataka i
njihovih veza,
prikazuje stanje realnog sistema
u jednom određenom trenutku
GENERACIJE MODELA
PODATAKA
1G
2G
klasični programski jezici, sa
relativno jednostavnim
tipovima podataka i
siromašnom semantikom, ne
mogu predstaviti realan
sistem.
modeli konvencionalnih sistema
za upravljanje bazom podataka:
hijerarhijski, mrežni i relacioni,
poseduju znatno bogatiju
semantiku od 1. generacije, i
složenije tipove podataka, ali
nepotpuno opisuju realan sistem.
GENERACIJE MODELA
PODATAKA
3G
4G
semantički bogati modeli – ER (Entity
Relationship Attribute), SDM
(Semantic Data Model) i drugi, poseduju
specifične koncepte za detaljan opis realnog
sistema, sa nedostatkom u pogledu potpune
softverske realizacije (CASE alati).
objektni model podataka (OOM), nastao je
početkom 90-tih godina 20. vijeka, kao
implementacija struktura podataka iz objektno
orijentisanih programskih jezika (C++,
SmallTalk) u sisteme za
upravljanje bazama podatak, u oblasti
inženjerskog projektovanja (CAD sistemi), ili
kao implementacija ugnježdenih tabela u
okviru
klasičnog relacionog modela podataka.
ER MODEL PODATAKA
Entity Relationship Atribute
Data model semantički bogat
model treće generacije. Posjeduje
specifične koncepte za detaljan
opis realnog svijeta
Eniteti se mogu
klasifikovati u skupove
sličnih entiteta.
Entitet je
apstraktna
predstava nekog
objekta.
Model entiteta poveznika
(Entity Relationship Data Model)
(ili model objekti-veze MOV) se
bazira na osnovnoj ideji
da se realan svijet i njegovi dijelovi opisuju
pomoću dva osnovna koncepta: entiteta i
poveznika.
To je osnovna jedinica
posmatranja u nekom
sistemu.
Entitet je nešto što se
može jednoznačno
identifikovati.
ER model
ER dijagram sadrži tri tipa komponenti:
Entiteta(objekte)
Skupovi sličnih entiteta
nazivaju se klasama
entiteta, gdje svi entiteti
jedne klase
poseduju bar jednu
zajedničku osobinu, na
osnovu koje su svrstani
u istu klasu.
Veze
Atribute
Broj zajedničkih osobina
jedne klase je uglavnom
veći od jedan, a nazivaju
se obelježjima ili
atributima.
Skup svih mogućih
vrijednosti koje to
obelježje može imati. Domen
obilježja A označava se sa
dom(A).
Naziv tipa entiteta
treba da odražava
semantiku i smisao
apstraktnog opisa
klase entiteta iz
realnog sveta
Tip
entiteta
Svaki tip
entiteta mora
biti opisan
svojim imenom
i atributima.
Model klase
entiteta.
Skup entiteta koji
imaju ista
obilježja.
Osnovni elementi ER dijagrama
entitet
atribut
slabi
poveznik
entitet
(veza)
gerund
(glagolska imenica)
Atribut
Karakteristika (svojstvo) koje bliže opisuje entitet.
Može dobiti vrijednost iz određenog skupa
vrijednosti koji predstavlja domen atributa
(tip vrijednosti atributa).
Atribut ili skup atributa koji jednoznačno
određuje svaku pojavu tipa entiteta se naziva
primarni ključ tipa entiteta
3
Atribut
Grafički prikaz
- elipsa unutar koje je upisan naziv atributa
• Ključni atibuti se podvlače
Naziv
Veličina
Ime
Cijena
JMBG
Poveznik (veza)
Odnos ili veza između pojava jednog ili više
tipova entiteta koji je od značaja za
informacioni sistem
Veza kazuje da se pojavio događaj ili da
postoji prirodna veza između tipova entiteta
Definicija treba da objasni prirodu veze i zašto
je važna
Stepen veze
Paralelena veza
Među entitetima može postojati
paralelna veza
Ona može biti dvostruka, trostruka,
itd.
Ključ (jedinstveni
identifikator)
Svaki tip entiteta mora imati neki atribut ili skup
atributa na osnovu koga razlikujemo svaku
pojedinačnu pojavu tog tipa entiteta
Definicija ključa
Atribut (ili skup atributa) koji
jedinstveno identifikuju svaku
pojedinačnu pojavu tipa
entiteta
Pravila za izbor
ključa
Odabrati atribut koji neće mijenjati
svoju vrijednost
Odabrati atribut koju nikad neće
imati null vrijednost
Kardinalitet veze
Broj pojava entiteta B koji mogu biti
MINIMALNI kardinalitet:
povezani sa svakom pojavom entiteta A
Minimalni broj pojava entiteta
vezesa- opisuje ograničenja
B kojiKardinalitet
mogu biti povezani
preslikavanja pojedinačnih entiteta koji
svakom pojavom entiteta A
učestvuju u posmatranoj vezi.
MAKSIMALNI kardinalitet:
1:1
Maksimalni broj pojava
pojava
M:N
1:N
entiteta B koji mogu biti povezani
sa svakom pojavom entiteta A.
Moguće je da u nekoj vezi pojedine instance
nekog entiteta ne učestvuju (1:0,0:N)
Primjeri
• Kardinalitet tipa 1:1
Radnik
(1,1)
je
Ivan
(Ivan, Polisa2)
Ana
(Ana, Polisa1)
Ena
(Ena, Polisa3)
Aca
(Aca, Polisa4)
(1,1)
Osiguranik
Polisa1
Polisa2
Polisa3
Polisa4
Primjeri
• Kardinalitet tipa 1:N
Radnik
(1,1)
Raspoređen
(1,N)
Ivan
(Ivan, programer)
Ana
(Ana, projektant)
Ena
(Ena, sekretarica)
Aca
(Aca, projektant)
Pera
(Pera, direktor)
Mira
(Mira, direktor)
Radno mesto
Projektant
Programer
Sekretarica
Direktor
Primjeri
• Kardinalitet tipa M:N
Radnik
(1,M)
Radi
Ivan
(Ivan, Faktura)
Ana
(Ivan, Skladištenje)
Ena
(Ana, Nabavka)
Aca
(Ana, Faktura)
(Ena, Nabavka)
(Aca, Skladištenje)
(1,N)
Projekat
Faktura
Skladištenje
Nabavka
ER model
podataka je, zbog koncepata
koji nisu u potpunosti mogli
kvalitetno da predstave
osobine realnih poslovnih
sistema, proširen konceptima
kao što su:
generalizacija/specijalizacija,
gerund, kategorija, jak i slab tip
entiteta
Najpoznatiji su: OracleCase,
BPWin/ERWin, Sybase Power
Designer i dr.
Ovako
modifikovani model je
nazvan EER
(Enhanced Entity Relationship
Data Model)
U prethodnih 20-ak godina se pojavio
znatan broj softvera
(Computer Aided SoftwareEngineering CASE alata)
koji omogućuju brži proces logičkog i
fizičkog projektovanja
modela baze podataka.
Apstrakcija podataka
Specijalizacija i generalizacija su postupci kojim se
definišu osobine skupova sličnih
entiteta gdje se zajednička obilježja grupišu u
superklasu, a specifična obeležja, shodno
različitim ulogama entiteta u odgovarajuće potklase.
Proces kreiranja nekoliko
Veza između
entiteta (specijaliziranih
superklase
i potklasa
podklasa)
iz jednog
označavamo
entiteta
Proces kreiranja jednog
opšteg entiteta
(generalne
superklase)
Pri entitetu
koji je iz
nekoliko
srodnih entiteta
superklasa
na dijagramu sa
navodi se
simbolom
u
Pod IS_A
sličnim
tipovima objekata
ovdje se mogu tretirati tipovi
klasifikaciono obeležje.
objekata
koji
imaju
jedan
broj
istih
(zajedničkih) atributa, tipova
okviru poveznika,
veza sa drugim objektima i operacija.
Kardinalitet IS_A
hijerarhije
Preslikavanje može biti
Totalno
Parcijalno
Disjunktno
Prosječno
Ako svakoj pojavi
nadkase
odgovara
bar
Ako bar jednoj
pojavi
jedna
pojava
podklase.
nadkase
ne odgovara
Minimalni
kardinalitet
je 1
nijedna
pojava
podklase.
Ako je svakoj pojavi
Minimalni
kardinalitet
je
nadklase
pridružena
pojava
nula. jedne podklase.
iz najviše
Ako
je bar jednoj
pojavi je
Maksimalni
kardinalitet
nadklase
odgovaraju pojave
jedan.
iz više od jedne podklase.
Maksimalni kardinalitet je N.
Stanovnik
totalno
(1,1)
disjunktno
IS_A
(1,1)
Zaposlen
(1,1)
(1,1)
Nezaposlen Penzioner
Nezaposlen
(0,N)
parcijalno
IS_A
prosječno
Dete
Učenik
Student
Invalid
Gerund
Gerund ili glagolska imenica je tip entiteta dobijen
transformacijom tipa poveznika, u cilju povećanja
semantike modela.
osposobljen
Mašina
Zove se Radnik
još i agregacija,
tj. mešoviti objekatveza i služi prevazilaženju problema u slučaju da je potrebno
povezati dva poveznika koji se, prema autorima modela, ne
mogu direktno povezati.
može_
proizvodi
proizvesti
Potrebna nam je veza proizvodi
Dio
XML eXtensible
Markup
Language
Može da posluži i kao
“model posrednik” za
transformaciju jednog
modela podataka u drugi
POSEBNO JE ZNAČAJAN KAO “SEMISTRUKTURALNI MODEL”
PODATAKA KOJI SE KORISTI U INTEGRACIJI BAZA PODATAKA I
ZA NJIHOVO POVEZIVANJE SA DRUGIM IZVORIMA
INFORMACIJA DOSTUPNIM PREKO INTERNETA
Automatsko rezonovanje
Ovi automatskog
programi
se koriste
za
Sistemi
rezonovanja
Izvođenje
zaključka
u ovakvim
rješavanje
problema
u
sistemima
su računarski
najčešće
programi
seoblastima
bazira
koji
kao što
sumetodi
Automatsko
naposeduju
rezolucijskoj
određene
rezonovanje
jedna
opovrgavanja,
komponente
inteligentnog
tj.je
negiranju
tvrđenja
ponašanja
kojii se
koji
dokazuje
se moguu
od osnovnih
oblasti
primenjivati
kao
sistemu
ljuske ekspertnih
veštačke
inteligencije.
zasistema,
automatsko
dokazivanje
dijaloški
sistemi,
prevodioci
prirodnih
jezika,
teorema (ADT)
i izvođenju
zaključka
obrazovniizračunarski
određenog
softveri,
skupa
informacioni
pravila i činjenica
sistemi i dr.
Predikatski račun prvog
reda
U predikatskom računu prvog reda se koriste
sljedeći primitivni simboli:
kvantifikatori: univerzalni (∀) i egzistencijalni (∃)
simboli za konstante (a, b, c, ...), funkcije (f, g, h, ...),
promenljive (u, v, w, x, y, z,
...) i predikate (P, Q, R, ...),
logički veznici: negacija ( ), konjukcija (⋀),
disjunkcija (⋁), implikacija (⇒) i ekvivalencija (⇔).
se definiše rekurzivno kao
konstanta ili promijenljiva ili
ako je f n-arna funkcija i t1, t2,... tn
su termi, tada je i f(t1, t2,... tn) term.
Definicija:
Ako je R n-arni predikatski simbol i t1, t2,... tn su termi,
tada je R(t1, t2, ..., tn) atomarna formula.
Definicija:
Atomarna formula ili njena negacija je literal.
Dobro formirana formula je atomarna formula.
Ako su W1 i W2 dobro formirane formule, tada su i
(W1), (W1)⋀(W2), (W1)⋁(W2), (W1)⇒(W2), (W1)⇔(W2)
dobro formirane formule.
Zatvorena dobro formirana
formula je ona koja ne sadrži
nijednu slobodnu
promenljivu, već sadrži samo
kvantifikovane promenljive.
Dobro formirana formula
je u preneksnoj normalnoj
formi ako se svi
kvantifikatori
pojavljuju na početku
formule:
(∀x) (P(x) ⇒ (∃y) Q(x,y))
(∀x) (∃y) (P(x) ⋁ Q(x,y))
Preneksna formula je u
Skolemovoj normalnoj formi
kada su svi egzistencijalni
kvantifikatori eliminisani
tako što su zamijenjeni
funkcijama koje kao
argumente imaju
promenljive na koje utiče
egzistencijalni kvantifikator.
Ove funkcije se
nazivaju
Skolemove funkcije
Ukoliko ove funkcije
nemaju argumenata
nazivaju se Skolemove
konstante.
(∀x) (  P(x) ⋁ Q(x,f(x)))
Klauzula je disjunkcija
literala u kojoj su sve
promenljive implicitno
univerzalno
kvantifikovane.
P(x) ⋁ Q(x,f(x))

Prolog
Najpoznatiji softver iz
Naziv Prolog je
oblasti
sistema
skraćenica od engleskih
automatskog
riječi “PRO(gramming) in
rezonovanja, autor je
LOG(ic)”, što znači da je
Alan
Kalmero, Prolog
1971. spada uriječ
grupu
deskriptivnih
o programskom
godine.
programskih
jezika,
jeziku koji
je prvenstveno
pri čemu programer
opisuje
namenjen
“ŠTA”program
treba
da radi,
logičkom
programiranju.
a ne i “KAKO” to treba uraditi,
U osnovi Prologa
za razliku od proceduralnih
se nalazi
programskih jezika.
predikatski
račun prvog
reda.
U Prologu postoje tri vrste rečenica:
činjenice, pravila i ciljevi.
Formule koje sadrže
P( x)  P( y)  P( z )
Klauza
sa
praznim
imlikaciju
Tvrđenje koje se želi
tijelom koji se sastoji
dokazati
Nazivi
samo od glave Naziv
sa
predikata Literali
promijenljivih
ili bez negacije
Pozitivan literal
Ova formula se može
zapisati u obliku
Glava
pravila
P(z) :- P(x), P(y).
Ovakav zapis se
zove klauza
Tijelo
pravila
zaključak :- pretpostavka1, pretpostavka2, ..., pretpostavkaN.
Formalizacija modela
podataka
Formalna specifikacija S EER modela podataka je uređena
petorka (E, A, R, S, P), gdje je:
Konačan
skup entiteta
Konačan skup
poveznika između
entiteta
konačan skup relacija
između entiteta, atributa,
poveznika i
ograničenja.
Konačan
skup atributa
konačan skup
ograničenja koja se
tiču domena,
definicija, relacija i
semantike pridružene
entitetima i
atributima,
Tipje
entiteta
e1 je tip
Na
slici
prikazan
a2
Za
atribute
Poveznik
r1 e2
jeje
opisan
opisan
svojim
imenom
Tipa1,
entiteta
jevaži
opisan
e a2,
koji
opisan
Na grafiku su prikazani jakentiteta
a4
i
a5
svojim
imenom
isvojim
atributima
a1,
a2 iiia3,
svojim
imenom
i
a3
imenom
tip
entiteta
e1
i
slab
tip
a1
ograničenje
da
ne
kardinalnošću
od kojihentiteta,
jea4a1i a5, a
atributima
entiteta e2 koji su povezani obillježjima
mogu biti bez
((ggk1):(ggk2)),
doksu
je
indentifikacioni
domeni
atributa
a1,
a2,
a3,
relacijom r1. Slabi tip tj. atributa
vrijednosti,
dok
ovo
dgk1=dgk2=1,
tea1
se ne
atribut,
a domeni
a4→dom4
i
a5→dom5.
od
kojih
je
entiteta e2e identifikaciono
ograničenje
ne važi
navodi
na
dijagramu.
atributa
su:
a1→dom1,
atribut
zavisi od jakog tipa entitetaindentifikacioni
za
atribut
a3.
a2→dom2
i a3→dom3.
i domeni
atributa
su
e1.
a1→dom1,
a2→dom2 i a3→dom3. Za
a3atribute a4
a1 i a2 važi
a5
a2
a1
ograničenje da ne mogu
biti bez vrednosti.
e1
r1i
(dgk1,ggk1)
e3
(dgk2,ggk2)
Na grafikusu
prikazani tipovi
entiteta e1 i e2 koji su
povezani relacijom, tj.
poveznikom r1.
Tip
Tipentiteta
entitetae1e2jeopisan
opisan
svojim
svojim
imenom
imenom
ii a4
Domen
Za
atribute
atributa
a1,
a3
a2,
je
dom3
i
Poveznik r1 je opisan svojim
atributima
atributima
a1
ia4
a2,
i postoji
a5,
od od
kojih
a5
i
za
važi
njega
ograničenje
ne
imenom, atributom a3da
i
kojih
je
a1
je
a4
ograničenje
ne mogu biti
da ne
kardinalnošću
indentifikacioni
indentifikacioni
atribut, a
može
bez
biti
vrijednosti.
bez
vrijednosti.
((dgk1,ggk1):(dgk2,ggk2)).
domeni
atributatributa
i domeni
su:
a1→dom1,
atributa sua2→dom2.
a4→dom4
i a5→dom5.
a3
a4
a2
a1
e1
r1i
(k1)
a5
e3
(k2)
Na grafiku su prikazani
jak tip entiteta e1 i slab
tip entiteta e2 koji su
povezani
relacijom r1.
Slabi tip entiteta e2
egzistencijalno zavisi od jakog
tipa entiteta e1.
a3
a4
a2
a1
e1
r1i
(k1)
a5
e3
(k2)
a1
a2
a3
e1
i1
dgk1,ggk1
IS_A
e3
a4
e2
a5
Na slici su prikazani
nadtip entiteta
(nadklasa) e1 i podtipovi
entiteta (podklase) e2
i e3 koji su povezani
is_a hijerarhijom i1.
IS_A hijerarhija i1 je opisana
svojim
imenom i kardinalnošću
(dgk1,ggk1), dok je dgk2=ggk2=1
kod svakog podtipa entiteta e2 i
e3, te se ne navodi na dijagramu.
a1
a2
e1
a3
r1
a4
a5
e2
r2
a6
a7
r3
Na slici su prikazani tipovi entiteta
e1 i e2 koji su povezani mješovitim
objektom
vezom, tj. gerundom r1, koji je
poveznikom r2 povezan sa tipom
entiteta e3.
a1
a2
e1
(dgk1,ggk1)
r1
(dgk2,ggk2)
Na slici je prikazan tip entiteta
e1 koji je povezan sa samim
sobom preko unarnog
(rekurzivnog) poveznika r1.
Tip entiteta e1 je opisan svojim
imenom i atributima a1 i a2,
od kojih je a1 indentifikacioni
atribut, a domeni atributa su:
a1→dom1, a2→dom2.
Za atribute a1 i a2 važi
ograničenje da ne mogu
biti bez vrijednosti.
Poveznik r1 je opisan
svojim imenom i
kardinalnošću
((dgk1,ggk1):(dgk2,ggk2)).
Kreiranje onto
l o g i j ekoncepata,
Definisanje
tj. klasa
S obzirom da se ontologije sastoje
od konačnog
Organizovanje
klasa u
skupa koncepata i njihovih instanci, taksonomije
tj. konkretnih
objekata (individua) koji su međusobno
Definisanje
relacija i
povezani relacijama, ontologije opisuju
mogućnosti
Između
klasa
funkcije tih koncepata iz realnog sviijeta
i njihove
osobine na što je moguće prirodniji način.
Definisanje atributa i
njihovih vrijednosti
Definisanje instanci klasa
Odrređivanje aksioma
i funkcija
Prvo je potrebno imenovati
U
modelu
prikazanom
klase (Classes).
Na
slici, koja
prikazuje
na slici je formirano
apstraktnu
ontologiju,
sedam klasa,
od
definisano
je nekoliko
kojih isvaka
ima po
klasa
zaZa
„Klasu
3“se
je određuju osobine
objekte
Za svaku klasu se mogu
jednu
instancu
izvršena
objekataodrediti
(Object
Property)
i koji
Opciono,moguće
je definisati
objekti
specijalizacija
na
dve
osobine
podataka
(Data Property)
tipove
objekata,
pripadaju
toj klasi,
podklasekoje
(Subclasses):
isti
poseduju
ili
ne
posjeduju.
identične ili različite individue.
ekvivalentne
klase, disjunktne
„Klasa 4“ i „Klasa
5“.
klase i superklase.
Slijedi kreiranje objekata kao instanci klasa
(Named Individual) iz domena koji se
modeluje.
Slijedi organizacija
Za objekte se formira
članova koji
klasa lista
u taksonomije,
pripadaju
klasi.podklasa
odreistoj
đivanje
neke nadklase
U narednom koraku se
definišu osobine podataka,
tj. atributi
nadređene osobine
u slučaju da se
formiraju strukture podataka
(Super Properties)
Dodjeljuje se naziv,
domen (Domain),
Tip podataka i
opseg (Data
Range)
moguće je odrediti:
identične
osobine podataka
(Equivavlent Data
Properties)
I osobine
podataka
sa kojima
Na kraju ovog koraka je potrebno
povezati
objekte
sa
definisana
osobina
nema
odgovarajućom osobinom podataka
(Data
Property
karakteristika
Assertionzajedničkih
).
(Disjoint Properties).
Relacije (Object Property) su odnosi između
objekata kao instanci klasa.
Uspostavljaju su i veze objekata i atributa (Class
Assertions).
Ograničenja relacija se iskazuju kroz minimalni i
maksimalni kardinalitet, egzistencijalno ili univerzalno
kvantifikovanje osobina između objekata (Ranges), kao i
restrikcije na osobine podataka ili domene.
Ostale, opcione karakteristike relacija su: identične
osobine objekata, inverzne nadređene, disjunktne
osobine objekata ili pak lance međusobno povezanih
osobina objekata.
Objekat može
biti u relaciji sa
samim sobom.
Na slici je prikazana
veza između dva
objekta: „Objekat 1“ i
„Objekat 2“, dok je
naziv relacije između
ovih objekata
„Relacija 1“.
Na grafu su prikazana
oba smjera binarnih
relacija
Relacija 2
Relacija 2
Relacija 4
Relacija 3
Relacija 3
Relacija 4
Na slici su prikazane binarne veze između tri objekta:
„Objekat 2“ i „Objekat 6“ su
povezani preko „Relacija 2“, Objekat 6“ i „Objekat 7“
preko „Relacija 3“, a sa „Relacija 4“ se ostvaruje veza
između „Objekat 2“ i „Objekat 7“.
Mapiranje ontologije na
predikatski račun prvog reda
Jedan od najčešće korišćenih načina
predstavljanja ontologija jeste RDF radni okvir.
subjekti
objekti
RDF izraz je
Mapiranje ontologije na
Jedan primjer
kolekcija trojki R(S,P,O), od
predikatski
račun se sastoji
kojih se svaka sastoji od
iz transformacije XML
subjekta, predikata i objekta.
zapisa ontologije u cilju
identifikacije elemenata
Elementipredikati
ova tri
skupova S, P i O.
skupa predstavljaju terme
koji se sastoje od
konstanti.
ONTOLOGIJA
MODEL
PODATAKA
ontologija i formalna
ZatimMapirana
su transformacijama
prevedene u
specifikacija
modela
podataka
su
Definisana
Nakonoblik
ovepravila
integracije
rezonovanja,
formira
se
se
klauzula,
koji
je
prikazanim
primenjuju
jedinstvena
datotetka
semantikom
svim
sistema
U okviru
Prolog
editora
se i opisanim
PROLOG
pogodan
za nad
procesiranje
usa
izabranom
modelom
predstavljeni
u logičkom
prezentovanom
elementima
ontologijom
koja
i modelom
vrši postavljanje
upita,
na modela
sistemu
automatskog
rezonovanja,
tj. u
formalnom
jeziku,
u rečenicama
podataka
predstavlja
koji
treba
ulaz
da
utj.Prolog
bude
vrednovan.
sistem.
ontoclassent(X):koje
se
dobijaju
odgovori
Prologu.
rdf(X,type,class),ent(X).
predikatskog
ontoclassnoent(X):sistema.
rdf(X,type,class),not ent(X).
računa prvog reda.
Mapiranje OWL/RDF ontologije, formalnu
PRAVILA
specifikaciju modela podataka i njihovu
ZAKLJUČIVANJA
integraciju sa pravilima zaključivanja vrši
program pod nazivom «Data Model
Validator» (DMV)
Ontološki editor
PROTEGE
<<CASE alat>>
SYBASE POWER DESIGNER
Model_podataka.CDM
Ontologija.OWL
Ulaz u PROLOG.
To je posebno formatirana
Sybase Power
Designerdatoteka
– CASE alat
za
tekstualna
sa korišten
rečenicama
AMZI PROLOG,
SWI
–
modelovanje
podataka.
<<MICROSOFT
.NET PROLOG
program
za formalizaciju
CDM-ai
koje
zadovoljavaju
mapiranje
ontologije,
učitavanje
pravila zaključivanja>>
Daje
rezultat
u formi
datoteke
sa ekstenzijom
CDM
jezici
logičkog
programiranja
sintaksu
jezika.
DATA MODELProlog
VALIDATOR
za koji
konceptualni
model podataka
se koriste
(EER
model), sa
ekstenzijom
PDM
Daje rezultat
modeliranja
ontologija
kao alati
za automatsko
rezonovanje.
Reasoning_Rules.TXT
za fizički model podataka (Relational Data Model)
u formi izlaznog
fajla sa ekstenzijom OWL
i ekstenzijom OOM za UML dijagrame,
i čija strukturakoji
je uključuje
čitljiva kao
i svaki
i dijagram
klasadrugi
objektno
orjentisanog
modela.
<<Sistem za automatsko
rezonovanje>>
XML fajl, specifične
sintakse
OWL
jezika.
TEST.PRO
AMZI! PROLOG
Svaki od navedenih
fajlova su zapravo XML dokumenti
koji sadrže opise elemenata odgovarajućeg modela podataka.
OPIS I IMPLEMENTACIJA APLIKACIJE
DATA MODEL VALIDATOR - DMV
Ovaj softver omogućuje
Windows aplikacija Data Model Validator (DMV) je programirana
jeziku
Visual Basic, sa ciljem da se izvrši
integracija nekoliko koraka u procesu provere semantičke
Učitavanje RDF ontologije kreirane u Protégé
korektnosti ontološkom
modela. alatu i njenu
Učitavanje konceptualnog modela podataka kreiranog
u Microsoft
Studio
u programskom
u Power Visual
Designer
CASE .Net
alatu okruženju,
i njegovo
transformisanje iz XML oblika, u oblik Prolog rečenica.
transformaciju iz XML oblika, u oblik RDF tripleta
kao Prolog činjenica.
.
Dvojezični
Učitavanje,
Pokretanje
korisnički
tj. dodavanje
Prolog
interfejs,
okruženja
pravila
na srpskom
zaključivanja
u cilju testiranja
i engleskom
Prolog
korektnosti
programu.
modela podataka.
jeziku.
Učitavanje
ontologije
Kreiranje ontoloških
klauzula
Nova
analiza
Učitavanje konceptualnog
modela podataka
Korisnik
<<extend>>
Kreiranje pravila
zaključivanja
<<extend>>
Pokretanje
prologa
Promjena jezika
u interfejsu
<<extend>>
<<include>>
Kreiranje klauzula na
osnovu modela podataka
Slučaj korišćenja programa “Kreiranje klauzula na osnovu modela
podataka” obuhvata sledeće podfunkcije: prikaz entiteta, atributa, relacija,
Kao što se na slici može vidjeti, korisnik
tipova podataka, atributa u entitetima, entiteta sa identifikacionim
DMV programa
imaizme
na
atributima, obaveznih atributa, identifikacionih
atributa, relacija
đuraspolaganju
funkcija.
entiteta, kardinaliteta relacija, zavisnihnekoliko
relacija i IS_Asoftverskih
hijerarhija.
Slučaj korišćenja programa “Kreiranje ontoloških klauzula”
obuhvata sledeće podfunkcije:
Izdvajanje klasa
Izdvajanje osobina objekata
Izdvajanje osobina podataka
Izdvajanje objekata
Izdvajanje istih osobina objekata
Izdvajanje podklasa
Slučaj korišćenja programa “Kreiranje ontoloških klauzula”
obuhvata sledeće podfunkcije:
Izdvajanje tipova podataka
Izdvajanje veza objekata i klasa
Izdvajanje veza objekata i tipova
podataka
Izdvajanje veza osobina objekata
Izdvajanje ograničenja osobina
objekata
Zatim je, na formu
korisničkog
Rezultat konceptualnog modelovanja
podataka, interfejsa,
u
postavljena kontrola
Power Designer CASE alatu,
je datoteka sa koja se koristi
»OpenFileDialog«
za XML
selektovanje
ekstenzijom .CDM, koja je zapravo
dokumentdatoteka u
prozorupodataka
koji se .tom prilikom
koji sadrži oznake elemenata modela
otvara.
Instancira se globalni
objekat
na nivou aplikacije fileModel
Učitavanje ove datoteke
u odgovarajuće
tipa klase »StreamReader«, koja
strukture podataka i promenljive
zahtevalo
je
omogućuje
čitanje tekstualne
XML
»ReadToEnd« i
uključivanje biblioteke klasa zadatoteke
rad sa metodom
ulazno-izlaznim
njenog
sadržaja
uređajima u okviru Visual Basic dodeljivanje
programskog
jezika.
promenljivoj VCeoModel, stringovnog
tipa.
Realizacija kreiranjaPrvo
Prolog
su identifikovani
klauzula na osnovu
entiteti, zatim atributi,
odgovarajućih elemenata
modela
relacije
između entiteta,
podataka bazirana
je na
identifikacioni
atributi itd.
višestrukom parsiranju
Formirana je lista entiteta,
promenljive vCeoModel.
što je zahtevalo uključivanje
biblioteke
System.Collections.
Na formu su postavljene i ostale komponente,
tj. kontrole tipa: TextBox, Label,
RichTextBox, CommandButton, OptionButton, u kojima se prikazuju
međurezultati cjelokupnog postupka.
Listing prikazuje XML
elemente konceptualnog
modela podataka na osnovu
kojih je određen element
skupa E={konferencija} i na
osnovu koje je formirana
Prolog
činjenica:ent(konferencija).
Deklarisane su odgovarajuće pomoćne
Zatim se funkcijom
MID(string,
lokacija
početka, dužina
Implementacija
ovog
dijela
programa
promenljive tipa
String
i Integer
za
odsecanja)
formira
novi
string
realizovana
je pomoćumodela
Visual na
Basic
funkcije
formiranje
podstringova
osnovu
XML
koji sadrži INSTR
odgovarajući
podstring
početnog
stringa,
(string,
podstring)
locira
pozicijutj. cijelog
oznaka
elemenata
dokoja
samog
naziva
modela podataka,
početka podstringa
u okviru
nekog stringa.
entiteta, u ovom
slučaju.
a koji počinje XML elementom <o:Entity> i završava se sa
zatvarajućom oznakom objekta</o:Entity>.
Naziv entiteta je određen na osnovu <a:Code> elementa u
okviru elementa <o:Entity>.
Instancira
Rezultat se
kreiranja
globalniontologije
objekat nau
ontološkom
nivouUčitavanje
aplikacije
editoru
tipa
jeklase
datoteka
ove
Zatim
je
na formu postavljena
»StreamReader«
sa
ekstenzijom
.OWL,
koja
datoteke kontrola
u odgovarajuće
koja
omogućuje
je takođe
čitanje
XML
tekstualne
dokument
promenljive
zahtjevalo
je
»OpenFileDialog«
koja
se
koji
sadrži
XML
oznake
datoteke
elemenata
uključivanje
biblioteke
klasa
koristi
za
selektovanje
metodom
»ReadToEnd«
ontologije.
i njeno
za
rad
sa
ulazno-izlaznim
datoteka,
u prozoru
koji se tom
dodjeljivanje
promenljivoj
uređajima
u Visual
Basic-u.
prilikom
otvara.
vCelaOntologija, stringovnog
tipa
Formirana je
tekstualna datotetka u
koju su upisana
pravila zaključivanja
za semantičku proveru
modela
Metodom StreamReader se, iz tekstualne
datoteke, čitaju pravila zaključivanja i upisuju u
promenljivu vRules, čija se vrijednost, nakon
konverzije tipa podatka, dodjeljuje
odgovarajućoj kontroli tipa RichTextBox u
okviru forme korisničkog interfejsa programa.
AMZI! Prolog sistem je postavljen u
direktorijum (folder) u kom se
nalazi izvršna verzija
DMV aplikacije, te je samo iniciran
početak procesa za pokretanje
editora programa, tj.
datoteke „a4ideA.exe“:
Process.Start("C:\Data Model Validator\DataModelValidator\Bin
\Debug\Prolog\a4ideA.exe")
Rezultat je aplikacija «Data Model Validator»
koja vrši automatizaciju postupaka iz teorijskog modela.
Ovaj implementirani softverski sistem se može, već od
školske 2013/2014. godine koristiti u obrazovnom procesu, u
nastavnom radu, u okviru časova laboratorijskih vežbi i za
izradu seminarskih radova studenata iz nastavnih predmeta:
Baze podataka 1 i 2, Informacioni sistemi 1 i 2, Projektovanje
informacionih sistema.
Pojedini dijelovi sistema mogu sekoristiti i u okviru nastave
predmeta Sistemi veštačke inteligencije.