Sunteți pe pagina 1din 7

Ce sunt bazele de cunotine?

(o viziune foarte simplificat)


Baz de Cunotine = Fapte + Reguli + Axiome

Fapt = afirmaie simpl ce indic explicit c cineva/ceva are o anumit


proprietate. Acea proprietate poate fi:
a) O relaie cu altcineva/altceva*:
Andrew e rud cu Joe.
b) Un atribut cu o anumit valoare:
Andrew are vrsta de 14 ani.

Regul = o construcie IF THEN care stabilete cum se pot deduce fapte


noi din cele existente. Exemple:
DAC x e rud cu y, ATUNCI y e rud cu x
DACP x are vrsta sub 18, ATUNCI x este minor
Aplicate pe faptele de mai sus, aceste reguli vor genera fapte noi
("concluzii"):
Joe e rud cu Andrew.
Andrew
osim e minor.
exemple n limbaj natural pn cnd studiem sintaxele 1
Ce sunt bazele de cunotine?
Axiom = un fapt (afirmaie) ce fixeaz semnificaia unui concept, permind calculatoarelor s
realizeze n mod automat deducii logice:
A fi rud este o relaie reciproc.

Anumite instrumente software ("motoare infereniale") vor converti axioma n regula de mai jos
(scutind utilizatorul de definirea explicit a regulii)...
DAC x e rud cu y, ATUNCI y e rud cu x
... apoi vor executa regula, genernd aceeai concluzie ca slide-ul precedent:
Joe e rud cu Andrew.

Observaii:
Pentru ca acest mecanism s fie posibil, axioma trebuie formulat cu ajutorul unor terminologii
standard (exemplu: terminologia OWL ne ofer termenul standard owl:SymmetricProperty
pentru noiunea de "relaie reciproc")
Axiomele pot fi vzute ca "reguli ascunse n fapte", sau "fapte ce pot fi interpretate ca reguli"
(interpretarea lor se bazeaz pe termeni standard recunoscui de ctre motoarele infereniale)
Axiomele unei baze de cunotine formeaz un vocabular sau o ontologie, deoarece ele
fixeaz semnificaia unor concepte (aici, conceptul de "rudenie") pentru toi cei care le vor
utiliza n propriile afirmaii
Axiomele stabilesc ct va "nelege" calculatorul din afirmaiile stocate, deci ce "concluzii" poate
2
trage fr intervenie uman
Ce ne intereseaz n Web
3.0?
Cum reprezentm cunotinele n calculator?
Rspuns: RDF
Cum interogm cunotinele?
Rspuns: SPARQL
De unde lum termenii standard pentru axiome?
Rspuns: din terminologii standardizate (RDF/S, OWL)
Cum stocm cunotinele n Web?
Rspuns: pe servere de cunotine/grafuri (Sesame)
Cum se pot executa reguli pentru a produce noi cunotine?
Rspuns 1: Motoare infereniale (extensii ale serverelor de cunotine, ce pot
interpreta axiomele ca reguli)
Rspuns 2: SPARQL (unele tipuri de interogri pot ncorpora reguli)
Cum se valideaz cunotinele?
Rspuns: Nu se valideaz. O afirmaie nu poate fi "eronat", ci doar
contradictorie fa de alte afirmaii. Contradiciile se detecteaz prin deducii
logice. Deduciile se automatizeaz cu ajutorul axiomelor i/sau regulilor.
Variante sintactice pentru
reprezentarea afirmaiilor
Programare obiectual:
JohnDoe.Salary=200
XML: Structura comun = Tripletul
<JohnDoe Salary="200"/>
(subiect, predicat, obiect)
Prolog:
Salary(JohnDoe,200)
Sisteme de tip frame-slot (sisteme expert):
JohnDoe:
Salary: 200
Limbaj natural:
John Doe has a salary of 200
4
Evoluia modelelor de date

Tabele (BD relaionale) Arbori (BD ierarhice): Grafuri (BD de t


reea):
XML, JSON RDF*

Mod de interogare: Mod de interogare: Mod de interogare:


SQL XPath/DOM (pt. XML), SPARQL
JSONiq/metode obiectuale (JSON)
Tehnologii de stocare: Tehnologii de stocare: Tehnologii de stocare:
MySQL, MS Access eXistDB (XML), MongoDB (JSON) Sesame, Virtuoso

*RDF nu e singura tehnologie pentru baze de date de tip graf, dar este standardul propus
pentru Semantic Web. Exist i tehnologii non-standard, de ex. Neo4J ce se interogheaz cu
propriul limbaj, numit CypherQL. 5
n RDF, "faptele" iau forma unor
afirmaii de tip "triplet"
:Robert :worksAt :UniVie.
:Razvan :hasHairColor :Black.
:Patrik :likes :Beer.
:Susana :hasChild :Robert.
:Robert :hasChild :Razvan, :Patrik.

(Subiecte) (Predicate) (Obiecte)


Ca i XML, RDF nu e un limbaj ci un set de reguli de bun formare, cum ar
fi:
Orice afirmaie e format din trei termeni: subiect, predicat
(=proprietate), obiect.
Termenii se separ prin spaii.
Afirmaiile se separ prin punct.
6
Mai multe afirmaii cu acelai subiect i predicat pot fuziona, separnd
Prin reutilizare de termeni, afirmaiile
se pot conecta ntr-un graf interogabil
Susa
na

hasChild Razv hasHairColo


hasChild an r
Rober Black
t
worksAt hasChild

UniVi
Patrik
Exemple de interogri SPARQL:
e - Returneaz toi prinii
likes
(Susana, Robert)
SELECT ?x
Beer WHERE
{?x :hasChild ?y}

- Returneaz toi bunicii


(Susana)
SELECT ?x
WHERE
{?x :hasChild/:hasChild ?z} 7