Sunteți pe pagina 1din 77

Inteligenta Artificiala

Universitatea Politehnica Bucuresti


Anul universitar 2015-2016

Adina Magda Florea


curs.cs.pub.ro

Curs 8
Modelul cunostintelor structurate

Retele semantice
Unitati
Web semantic
Description logics elemente de baza
OWL - exemple
2

1. Modelul RETELELOR
SEMANTICE

primul model structurat de reprezentare


a cunostintelor
introdus pentru a descrie semantica
cuvintelor si a propozitiilor limbajului
natural
folosit ca metoda de reprezentare a
cunostintelor in sistemele bazate pe
cunostinte
3

1.1 Baza de cunostinte

Radu i-a trimis Ioanei o scrisoare.


Radu este student.
Ioana este eleva.
Adresa lui Radu este Luterana, 15.
Ocupatie (radu, student)
Ocupatie (ioana, eleva)
Trimite (radu, ioana, scrisoare)
Adresa (radu, luterana - 15)

Gruparea in entitati

Radu
Ocupatie (radu, student)
Trimite (radu, ioana, scrisoare)
Adresa (radu, luterana - 15)
Ioana
Ocupatie (ioana, eleva)
Trimite (radu, ioana, scrisoare)
Radu
Ocupatie: student
Adresa: luterana-15
Ioana
Ocupatie: elev

( x)(ISA(x,eveniment - trimitere) Expeditor(x, radu)


Destinatar(x,ioana) Obiect(x,scrisoare))

Predicatul ISA indica apartenenta


unui obiect la o multime.
ISA(t1 , eveniment - trimitere)
Expeditor(t1 , radu)
Destinatar(t1 , ioana)
Obiect(t1 , scrisoare)

Radu
ISA:
Persoana
student
Adresa: luterana-15

Ocupatie:

Ioana
ISA:
Persoana
Ocupatie: elev
T1
ISA:
Eveniment-trimitere
Expeditor: Radu
Destinatar: Ioana
Obiect: scrisoare

Predicatul AKO descrie


incluziunea unei multimi intr-o
alta multime

Eveniment-trimitere
AKO:
Eveniment
Expeditor:
Persoana
Destinatar: Persoana
ClasaObiect

Obiect:

Persoana
AKO: Fiinta
Ocupatie: (student, elev, inginer)
Adresa: string
9

Relatie individual-generic, sau instanta-clasa,


notata ISA (prescurtare de la IS A).
Relatia generic-generic, sau subclasa-clasa,
notata AKO (prescurtare de la A Kind Of).
Obicete particulare / obiecte generice
Sloturi
Inferente specifice

Mostenirea proprietatilor (atributelor) :


1) Mostenirii proprietatilor de la clasa la instanta:
Daca un obiect O1 este o particularizare (legat prin
relatia ISA) a unui obiect generic O si obiectul O are un
atribut (proprietate) A, atunci si instanta O1 are atributul
A.
2) Aplicarea mostenirii proprietatilor intre o clasa si
o superclasa, de-a lungul unei relatii sau a unui lant de
relatii AKO
Daca o clasa C1 este o subclasa a unei clase C
(legata prin una sau mai multe relatii AKO) si clasa C
are proprietatea A, atunci clasa C1 are de asemenea
proprietatea (atributul) A.

1.2 Retele semantice


Pasare
ISA
Canar

culoare

are

poate

aripi

zbura

galben

(a)
Eveniment

student
Ocupatie
Adresa
Radu

AKO
Eveniment-trimitere

luterana-15

ISA

ISA

Expeditor

T1

Persoana
Destinatar

Obiect
scrisoare

Ioana
(b)

ISA
Ocupatie

elev

12

Inferente specifice retelelor


semantice
Bloc
AKO
triunghi

Forma

Consistenta
AKO

Piramida

Caramida

ISA

ISA

Piramida18

mare

Caramida12

Mostenirea valorilor in retele semantice

Forma

dreptung

Algoritm: Mostenirea valorilor atributelor intr-o ierarhie de


clase
Algoritmul determina valoarea unui atribut A al unei
instante O
DetVal (O, A, V)
1. Formeaza o lista L cu nodul O si toate nodurile legate de O
prin relatia ISA
2. cat timp L != [ ] executa
2.1. Elimina primul nod, N, din lista L
2.2. daca atributul A al nodului N are valoarea V
atunci
2.2.1. Depune V in nodul punctat de atributul A al
obiectului O
2.2.3. intoarce SUCCES
2.3. Adauga toate nodurile legate prin relatia AKO de
nodul N, la sfirsitul listei L
3. intoarce INSUCCES
sfarsit.

Perspective

Perspectiva - un obiect poate avea sensuri


diferite in contexte diferite
Bloc

Cub
ISA

ISA
Cub12
Scop
sustine

Perspectiva
de structura
Scop
joaca

Jucarie
ISA

Perspectiva
de jucat

Cadou
ISA

Perspectiva
de daruit

Scop
placere

Utilizarea perspectivelor in retelele semantice

Fatete

Caracteristici asociate atributelor din retea


Modalitati de considerare a valorilor unor
atribute
Fateta valoare - valoarea obisnuita a unui
atribut
Fateta valoare implicita - caracterizeaza
tipic valoarea unui atribut
Fateta procedura necesara - contine o
procedura sau o functie care poate calcula
valoarea atributului pe baza valorii altor
atribute

Fateta procedura necesara

Caramida
ISA
Caramida12

Culoare
ISA

rosie

Fateta valoare implicita

Caramida0

Culoare

alba

Mostenirea valorilor implicite in retele semantice


si a valorilor procedura necesara
17

Algoritm: Mostenirea valorilor implicite ale atributelor intro ierarhie de clase


Algoritmul determina valoarea unui atribut A al unei
instante O
DetValImp(O, A, V)
1. Formeaza o lista L cu nodul O si toate nodurile legate de O
prin relatia ISA
2. cat timp L != [ ] executa
2.1. Elimina primul nod, N, din lista L
2.2. daca atributul A al nodului N are valoarea implicita
V
atunci
2.2.1. Depune V in nodul punctat de atributul A al
obiectului O
2.2.3. intoarce SUCCES
2.3. Adauga toate nodurile legate prin relatia AKO de
nodul N, la sfirsitul listei L
3. intoarce INSUCCES
sfarsit.

1.3. Strategii de control

Strategia de control indica ordinea de


aplicare a inferentelor si modul de
inspectare a retelei

Doua stategii de control de baza


Stategia N
Strategia Z
19

Strategia N
Algoritm: Strategia N de determinare a valorii unui
atribut
Algoritmul determina valoarea unui atribut
al unei instante O utilizind strategia N.
DetValN (O, A, V)
1. daca DetVal (O,A,V) = SUCCES
atunci intoarce SUCCES
2. daca DetValImp (O,A,V) = SUCCES
atunci intoarce SUCCES
3. daca DetProcNec (O,A,V) = SUCCES
atunci intoarce SUCCES
4. intoarce INSUCCES
sfarsit.

Strategia Z
Algoritm: Strategia Z de determinare a valorii unui
atribut.
Algoritmul determina valoarea unui atribut
unei instante O utilizind strategia Z.
DetValZ (O, A, V)
1. Formeaza o lista L cu nodul O si toate nodurile
de O prin relatia ISA
2. cat timp L != [ ] executa
2.1. Elimina primul nod, N, din lista L
2.2. daca fateta valoare a atributului A a
este V
atunci
2.2.1. Depune V in nodul punctat de
atributul A al obiectului O
2.2.2. intoarce SUCCES

A al
legate

nodului N

2.3. daca fateta valoare implicita a atributului A a


nodului N este V
atunci
2.3.1. Depune V in nodul punctat de atributul A al
obiectului O
2.3.2. intoarce SUCCES
2.4. daca fateta procedura necesara a atributului A a
nodului N este proc (A1,..., An,V)
atunci
2.4.1. Determina valorile atributelor A1,..., An ale
instantei O
2.4.2. daca s-au gasit valori pentru A1,..., An
atunci
i. executa proc (A1,..., An,V)
ii. Depune V in nodul punctat de
atributul A al obiectului O
iii. intoarce SUCCES
3. intoarce INSUCCES
sfarsit.

2. Modelul Unitatilor

Unitate - colectie de atribute (sloturi),


cu valori asociate si posibile restrictii
asupra valorilor, ce descriu un obiect al
universului problemei

Unitatile pot desemna


obiecte generice
instante
23

2.1 Reprezentarea relatiilor

Retele semantice

Unitati

AKO

SuperClasses
SubClasses

ISA

MemberOf

24

Un obiect particular poate fi o instanta care


partine mai multor unitati generice, iar o
unitate generica poate fi subclasa a mai
multor clase

taxonomia de unitati poate fi graf.

25

Sloturi

Fiecare slot are un nume si una sau


mai multe valori

Tipuri de sloturi
sloturi membru - MemberSlot - descriu
atributele fiecarul membru al clasei
sloturi proprii - OwnSlot - descriu atributele
ce caracterizeaza clasa ca un intreg
26

Unit Camion
SuperClasses: Vehicul
SubClasses: CamionMare, CamionMediu, CamionMic
MemberOf: ObiecteFizice
Unit CamionMare
SuperClasses: Camion
SubClasses: CamionMareRosu, CamionMareRemorca
Unit CamionMareRosu
SuperClasses: CamionMare
MemberSlot: Sofer
Value: necunoscut
MemberSlot: Inaltime
Value: necunoscut
MemberSlot: Culoare
Value: rosie
MemberSlot: Pret
Value: necunoscut
OwnSlot: CelMaiMare
Value: CMR10
OwnSlot: CelMaiScump
27
Value: CMR210

Unit CMR1
MemberOf: CamionMareRosu, ProprietateFirmaX
OwnSlot: Sofer
Value: Paul
OwnSlot: Inaltime
Value: 1.75
OwnSlot: Culoare
Value: rosie
OwnSlot: Pret
Value: 30 000
OwnSlot: Proprietar
Value: X
Unit CMR2
MemberOf: CamionMareRosu
OwnSlot: Sofer
Value: Tudor
OwnSlot: Inaltime
Value: 1.80
OwnSlot: Culoare
Value: rosie
28
OwnSlot: Pret

2.2 Reguli de mostenire

In urma mostenirii atributelor de la clasa


la instanta, sloturile membru ale clasei
devin sloturi proprii ale instantei, iar
sloturile proprii ale clasei nu se
mostenesc la instante.
Orice slot membru al unei clase este
mostenit de subclasele descendente
din acea clasa, in urma mostenirii
atributelor de la clasa la subclasa
29

Fatete

Fatete - modalitati de reprezentare a


proprietatilor atributelor
Tipuri de fatete
fateta valoare
fateta domeniu de valori
fatete ce descriu restrictii
fateta valoare implicita
fateta mostenire
fateta valoare activa
fateta comentariu
30

Unit CamionMareRosu
SuperClasses: CamionMare
MemberSlot: Sofer
Value: necunoscut
/*fateta valoare */
ValueClass: Persoana
/*fateta domeniu de
unitatea Persoana */
Cardinality: 2
/*fateta numar de valori;
soferi posibili */
Default: Paul /*fateta valoare implicita*/
Restrict: (oneof Paul, Tudor, Gelu, Mihai, Barbu)
/*fateta de descriere a restrictiei */
MemberSlot: Inaltime
Value: necunoscut
ValueClass: real
Cardinality: 1
Restrict: X.Inaltime > 1.50
MemberSlot: Culoare
Value: rosie
ValueClass: string
Cardinality: 1
Comment: "Culoarea tuturor membrilor unitatii"
/*fateta comentariu */

valori; indica
un camion poate avea doi

2.3 Inferente specifice unitatilor

Forma de inferenta specifica - mostenirea


atributelor

Forma taxonomiei de unitati este un graf


orientat aciclic, in care exista o relatie de
ordine partiala impusa de relatiile ISA sau
MemberOf si AKO sau
Subclass/Superclass (relatii ierarhice)
32

AKO (SuperClasses)

Unit Pasare
Slot: Zboara
Value: da

Unit Strut
Slot: Zboara
Value: nu
ISA (MemberOf)

AKO (SuperClasses)

Unit PasareZoo

Unit Fifi
Slot: Zboara
Value: necunoscut

ISA (MemberOf)

Taxonomie de unitati de tip graf orientat aciclic

Probleme

Zboara Fifi?

Mosteniri multiple de atribute

Distanta dintre unitati - se foloseste


lungimea caii intre unitatea curenta U
pentru care se doreste aflarea valorii
slotului S si unitatea U' unde s-a gasit
aceasta valoare, considerind corecta
valoarea slotului din unitatea cea mai
apropiata de unitatea U
34

AKO

Unit Pasare
Slot: Zboara
Value: da

Unit Strut
Slot: Zboara
Value: nu

AKO

AKO
Unit StrutPenat

Unit PasareZoo

AKO
Unit StrutPenatAlb
ISA
Cea mai mica
distanta inferentiala

Probleme

Cea mai mica


distanta

Unit Fifi
Slot: Zboara
Value: necunoscut

ISA

Zboara Fifi? nu

Distanta si distanta inferentiala intre unitati 35

Mosteniri multiple de atribute


Distanta inferentiala
Clasa1 este mai aproape de Clasa2 decat de
Clasa3 daca si numai daca Clasa1 are o cale
inferentiala care trece prin Clasa2 spre
Clasa3.
Clasa1 este mai aproape de Clasa2 decat de
Clasa3 daca Clasa2 este intre Clasa1 si
Clasa3 de-a lungul unui lant de relatii
ierarhice.
36

Algoritm:
Mostenirea atributelor bazata pe distanta inferentiala
Algoritmul determina valoarea V a slotului S al unitatii U
1. Formeaza o lista L cu unitatea U si toate unitatile legate de U
relatia MemberOf
2. Formeaza o lista de candidati CAND = [ ]
3. cat timp L != [ ] executa
3.1. Elimina prima unitate, X, din lista L
3.2. daca slotul S al lui X are valoare
atunci CAND = CAND {X}
3.3. altfel adauga in lista L toate unitatile legate de X prin
SuperClass
4. pentru fiecare unitate C CAND executa
4.1. Verifica daca exista un alt element C CAND cu o
inferentiala fata de U mai mica decat cea a lui C
4.2. daca C' exista
atunci elimina C din CAND

prin

relatia
distanta

daca card (CAND) = 0


atunci intoarce INSUCCES /* nu s-a gasit valoare pentru S */
6. daca card (CAND) = 1
atunci
6.1. Fie C1 unicul element al listei CAND
6.2. Depune valoarea slotului S al lui C1 ca valoare a
slotului S al lui U
6.3. intoarce SUCCES
7. daca card (CAND) > 1 /* contradictie, S este monovaloare */
atunci intoarce CONTRADICTIE
sfarsit.
5.

2.4 Reprezentari combinate


Baza de cunostinte formata din:
- cunostinte declarative: unitati
- cunostinte procedurale: reguli
daca Camion.Inaltime > 2
si Camion.Culoare = rosu
atunci
Camion.Pret = 1000
Inferente in sistem: specifice unitati si specifice reguli

3. Web semantic

Astazi avem web sintactic

Markup se refera la:


afisarea informatiei (dim. font, culoare, etc.)
Hhyper-linkuri pt a lega continut

40

Web semantic

Semantic Web
Necesita o reprezentare a continutului
Semantica cum reprezentam?
Adnotari
Conventii asupra semnificatiei adnotarilor
Utilizarea ontologiilor pt a specifica adnotarile
Vocabular de termeni
Noi termeni care se formeaza din cei
exsitenti + relatii intre termeni
Semantica specificata formal

3.1 Ontologie

In stiinta calculatoarelor o ontologie este o


reprezentare formala a unei multimi de
concepte dintr-un anumit domeniu impreuna
cu relatiile dintre aceste concepte
O ontologie contine:
o descriere ierarhica a celor mai importante
concepte dintr-un domeniu
descrie principalele proprietati ale fiecarui
concept pe baza unui mecanism de tip atributvaloare
indivizii din domeniul de interes sunt asignati unuia
sau mai multor concepte in scopul de a le da un tip
corespunzator.

Descrierea unei ontologii

Limbaje bazate pe logica cu predicate


CycL, F-logic, OCML, Ontolingua;
Limbaje bazate pe web - DAML+OIL,
OWL, RDF, RDF Schema, SHOE;
Limbaje bazate pe logici de descriere:
OWL

3.2 RDF

XML
Specifica un arbore al documentului
Nu identifica continutul documentului

RDF incearca sa exprime continutul


RDF permite descrierea resurselor
O resursa este un obiect
pt care se poate da o descriere
este identificat printr-un URI dar sau printr-o descriere abstracta (nu
neaparat se mapeaza la o adresa de retea)
Ex: docs, imags, videoclips, services, unele in afara web (oameni,
obiecte)

Un literal este
O valoare (string, integer, ..)
Nu i se poate da o descriere
Exista literali cu tip: sirul + referinta URI la o XML Schema care
descrie tipul

RDF

RDF se bazeaza pe o gramatica simpla


Un document RDF este o multime de
instructiuni sau triplete
Fiecare instructiune este formata din
Subiect: o resursa
Obiect: o resursa sau un literal
Predicat: o resursa (proprietate rdf:Property)
Subiectul este legat de obiect prin predicat
(predicate binare)

RDF
areColeg

Io
n

Miha
i

Poate fi reprezentat utilizand serializare XML:


<Ion,areColeg,Mihai>

Io
n

areColeg

areColeg

Irina

Miha
i

arePaginaPersonala

http://www.cs.pub.ro/~mihai

RDF Schema

RDF ofera un formalism pentru adnotarea metadatelor


si modul de scriere in XML dar nu ofera semnificatie
unor relatii standard cum ar fi subClassOf sau type
de ex <Persoana,subClassOf,Animal> nu are os emnifiactei
speciala

RDF Schema defineste o schema de vocabular care


permite definirea ontologiilor
ofera semnificatie unor relatii (predicate) standard din RDF
(de ex subClasOf)
aceasta semnificatie indica cum trebuie interpretata relatia

47

RDF Schema

Exemple din RDF Schema :

Class
Property
type
subClassOf
range
domain

Acestea reprezinat constructorii din RDF Schema


utilizati pentru crearea vocabularului:
<Persoana,type,Class>
<areColeg,type,Property>
<Profesor,subClassOf,Persoana>
<Irina,type,Profesor>
<areColeg,range,Persoana>
<areColeg,domain,Persoana>

48

1. About Description Logics

Description Logics (DLs) - knowledge


representation formalisms that
represent the knowledge of an application domain
(the world)
by dening the relevant concepts of the domain (its
terminology)
and then using these concepts to specify properties of
individuals occurring in the domain (the world
description).

Inferences: classication of
concepts - subconcept/superconcept relationships
(subsumption)
individuals - whether a given individual is always an
49
instance of a concept

Description Logics

Semantic networks: IS-A, AKO


KL-ONE formal semantic
Subsumption
Unlike IS-A links, subsumption relationships
and instance relationships are inferred from
the denition of the concepts and the
properties of the individuals
DLs are based on a formal, logic-based
semantics
50

A
DL
system
TBox the terminology, i.e., the vocabulary of an application domain
= concepts (set of individuals) + roles
ABox assertions about named individuals in terms of this vocabulary

TBox
Description
Language

Reasoning
ABox
KB

Application
Programs

Rules
51

Example of TBox
Woman Person Female
Man Person Woman
Mother Woman hasChild.Person
Father Man hasChild.Person
Parent Father Mother
Grandmother Mother hasChild.Parent
MotherWithManyChildren Mother
MotherWithoutDaughter Mother
hasChild.Woman
Wife Woman

3 hasChild

hasHusband.Man
52

Example of ABox
Woman Person Female
Man Person Woman
Mother Woman hasChild.Person
Father Man

hasChild.Person

Woman(mary)
Man(tom)
Father(peter)
hasChild(mary, peter)
hasChild(peter, harry)
hasChild(mary, paul)
53

Inference services/reasoning tasks


Typical reasoning tasks:
(1) Whether a TBox description is satisable (i.e., noncontradictory)
Woman Person Female
Man Person Woman Superman
Superman Person

54

Inference services/reasoning tasks


Typical reasoning tasks:
(2) Whether one description subsumes another one in a
TBox - organize the concepts of a terminology into a
hierarchy according to their generality
Woman Person Female
Man Person Woman
Mother Woman hasChild.Person
Father Man hasChild.Person
Parent Father Mother
Grandmother Mother hasChild.Parent
Grandmother
Woman ??
55

Inference services/reasoning tasks


Typical reasoning tasks:
(3) Find out whether the set of assertions in a ABox is
consistent (has a model)
Woman(mary)
Man(tom)
Father(mary)

56

Inference services/reasoning tasks

(4) Whether the assertions in the ABox entail that a


particular individual is an instance of a given concept
description
MotherWithManyChildren Mother

3 hasChild

Mother(mary)
hasChild(mary, bob)
hasChild(mary, hellen)
hasChild(mary, tom)
MotherWithManyChildren(mary)?

A concept description can also be conceived as a query


- retrieve the individuals that satisfy the query.
57

2. DL Language

Elementary descriptions:
atomic concepts (A,B)
atomic roles (R)
Complex descriptions of concepts (C,D)
concept constructors, or of roles role
constructors
Basic language Attribute Language AL
Description languages are distinguished by
the constructors they provide (syntactic rules
of concept formation)
58
Different extensions of AL

Syntax
C, D A |
T |
|
A |
C D
AL
R.C
R.T
C D
ALU
R.C
ALE
C |
ALC
nR
ALN
nR

AL[U][E][N][C]
(atomic concept)
(universal concept)
(bottom concept)
(atomic negation)

|
|
|
|
|

(intersection)
(value restriction)
(limited existential quantification)
(union)
(full existential quantification)

(negation of concepts)

(number restrictions)
59

Examples
Atomic concepts: Pers, Fem
Atomic role: hasChild
Pers Fem
Pers
Fem
Pers hasChild.T
Pers hasChild.

Pers hasChild.Fem

Pers Fem hasChild.T hasChild.Fem


Pers Fem 3 hasChild

60

Semantics
Interpretation I is a tuple I = (I , I)
where
I- the domain of the interpretation ( a set)
I - an interpretation function (a mapping) that
maps (assigns)
names of objects (individuals) to elements of I
names of atomic concept (A) to subsets of I
( AI I )
Names of atomic roles (R) a binary relation
RI I x I
61

62

Semantics
The interpretation function is extended to concept
definitions by the following inductive definitions:

Pers

hasChild.Fem

hasChild.T

Pers
63

Semantics
Pers

hasChild.Fem

Fem

3 hasChild

Pers

Fem

64

3. Terminologies (TBox)

Terminological axioms - make statements


about how concepts or roles are related to
each other
C D - inclusion axiom
C D - equality axiom
C D if CI DI
C D if CI DI
If T is a set of axioms, then I satises T i I
satises each element of T I is a model of
T
65

TBox

Denition = an equality whose lefthand side is an atomic concept


Introduces symbolic names for complex
descriptions

Name symbols NT (defined concepts) occur on the left-hand side of some


axiom
Base symbols BT (primitive concepts) occur only on the right-hand side of
66
axioms

Example of TBox
Woman Person Female
Man Person Woman
Mother Woman hasChild.Person
Father Man hasChild.Person
Parent Father Mother
Grandmother Mother hasChild.Parent
MotherWithManyChildren Mother
MotherWithoutDaughter Mother
hasChild.Woman
Wife Woman

3 hasChild

hasHusband.Man
67

4. World descriptions (ABox)

ABox introduce individuals, by giving them names, and


asserts properties of these individuals
Individuals: a, b, c
C(a) - concept assertions - a belongs to (the
interpretation of) C,
R(b,c) - role assertions - c is a ller of the role R for b.
MotherWithoutDaughter(mary)
Father(peter)
hasChild(mary, peter)
hasChild(peter, harry)
hasChild(mary, paul)
68

5. Reasoning services in DL

Reasoning tasks for TBox

Checking satisfiability of a concept


Checking subsumption of a concept by
another
Checking equivalence of 2 concepts
Checking disjointness of 2 concepts

69

3.3 OWL

Web Ontological Language


OWL impune restrictii suplimentare
bazat pe RDF dar limiteaza "libertatea" RDF
odera os emantica formala

Bazat de Logici de descriere


Clase
Indivizi
Proprietati
70

OWL

Clase

<owl:Class rdf:ID="Student"/>
<owl:Class rdf:ID="Department"/>
<owl:Class rdf:ID="Course"/>

Indivizi

<Department rdf:ID="CS"/>

Proprietati
<owl:ObjectProperty rdf:ID="takes">
<rdfs:domain rdf:resource="#Student"/>
<rdfs:range rdf:resource="#Course"/>
</owl:ObjectProperty>

71

Clase OWL
Cum se construieste o clasa?
(a) Prin specificarea unui nume de clasa

<owl:Class rdf:ID="Student"/>

(b) Prin specificarea nume clasa + descendenta


<owl:Class rdf:ID="StudentFemeie">
<rdfs:subClassOf rdf:resource="#Student"/>
</owl:Class>

(c) combinatie de operatori logici: owl:IntersectionOf,


owl:unionOf, owl:complementOf
sau enumerare owl:oneOf (enumerare toti indivizii)
(d) Restrictii asupra proprietatilor
72

Clase OWL

Construirea claselor pe baza restrictiilor aplicate


proprietatilor
Obiectele care satisfac restrictia asupra proprietatii
formeaza o clasa anonima
owl:Restriction
O restrictie poate fi de 2 tipuri
owl:ObjectRestriction se aplica pe o proprietate
obiect
owl:dataRestriction se aplica pe o proprietate tip de
date

Proprietatea asupra careia se aplica restrictia este


specificata prin owl:onProperty
73

Clase OWL
<owl:ObjectProperty rdf:ID="urmeaza">
<rdfs:domain rdf:resource="#Student"/>
<rdfs:range rdf:resource="#Curs"/>
</owl:ObjectProperty>
<owl:Restriction>
<owl:onProperty rdf:resource="#urmeaza"/>
<owl:minCardinality
rdf:datatype="&xsd;nonNegativeInteger"> 1
</owl:minCardinality>
</owl:Restriction>

O clasa anonima in care membrii urmeaza cel putin un curs.


Stiind ca domeniul este Student se poate infera ca este o
subclasa a Student.
74

Clasa Student
<owl:Class rdf:about="Student">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#urmeaza"/>
<owl:minCardinality
rdf:datatype="&xsd;nonNegativeInteger">
1
</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>

75

Clasa StudentBun
<owl:Class rdf:ID="StudentBun">
<owl:IntersectionOf rdf:parseType="Collection">
<rdfs:Class rdf:about="#Student"/>
<owl:Restriction>
<owl:onProperty rdf:resource="#urmeaza"/>
<owl:minCardinality
rdf:datatype="&xsd;nonNegativeInteger">
3
</owl:minCardinality>
<owl:maxCardinality
rdf:datatype="&xsd;nonNegativeInteger">
5
</owl:maxCardinality>
</owl:Restriction>
</owl:IntersectionOf>
</owl:Class>
76

Exemplu de ontologie in Protege

77

S-ar putea să vă placă și