Sunteți pe pagina 1din 26

Comparaie ntre RDF i...

- ...limbajul natural
- ...XML

1
Comparaie cu limbajul natural
:Robert :worksAt :UniVie.
:Razvan :hasHairColor :Black.
:Patrik :likes :Beer.
:Susana :hasChild :Robert.
:Robert :hasChild :Razvan, :Patrik.

(Subiecte) (Predicate) (Obiecte)

2
Comparaie cu limbajul
natural
Termenii din RDF sunt asemntori "cuvintelor" din limbajul natural, dar ceva mai
rigizi
nu au reguli gramaticale, morfologice, timpuri, declinri, acorduri etc.
au o form rigid impus de regulile de bun formare RDF i de structura URI
forma unui termen RDF nu variaz, pentru a permite calculatoarelor s formeze grafuri pe baza
reutilizrii (sunt permise totui sinonimele!)
nu sunt legai de o limb anume, nu se supun gramaticii vreunei limbi

O afirmaie (fapt) se aseamn cu o "propoziie" din limbajul natural, ceva mai rigid
se formeaz din trei termeni, conform bunei formri RDF subiect, predicat, obiect
se pot mbina n fraze mai complexe, cu ajutorul unor de "semne de punctuaie" (de ex.,
gruparea afirmaiilor cu acelai subiect din exemplul precedent)

O descriere se formeaz din mai multe afirmaii cu privire la acelai lucru (acelai
termen, sau sinonime ale aceluiai termen)
oricine poate face orice i oricte afirmaii cu privire la un acelai lucru, stocate oriunde
descrierile evolueaz n timp, pe msur ce se fac noi afirmaii
o descriere va conine diveri termeni, care la rndul lor au propriile descrieri
descrierile din surse diferite se pot completa reciproc sau pot fi contradictorii
descrierile complementare se pot conecta i mbogi reciproc
e vorba aici de "baze de cunotine distribuite"
interogrile "federative" vor colecta afirmaii din surse diferite, de pe servere diferite
descrierile contradictorii pot coexista n Web
"clienii" interogrilor vor decide asupra credibilitii sau a punctul de vedere preferat
Comparaie cu limbajul

natural
Unele descrieri sunt "controlate" (stocate ntr-un
vocabular/ontologie/terminologie) pentru a
fixa semnificaia unor termeni. Un astfel de
vocabular e asemntor cu un "dicionar
explicativ" care fixeaz semnificaia cuvintelor:
stimuleaz adoptarea pe scar larg a unui termen, cu o
anumit semnificaie
conine descrieri publice i controlate, ce trebuie s poat fi
interogate de oricine
e format din axiome (afirmaii ce indic proprietile
definitorii ale unui termen)
axiomele folosesc termeni standardizai i ali termeni
crora li s-a fixat n prealabil semnificaia (n acelai
vocabular sau n altele!)
Cum evolueaz termenii?
Faza 1. Un termen "se creeaz" prima dat cnd e folosit ntr-o afirmaie:
Am mncat mere.
Cum s-a creat cuvntul "mr"?
Atenie, cuvintele limbii romne nu a fost create de dicionarul limbii romne! Dicionarele doar colecteaz cuvinte care
s-au creat deja, pentru a permite i altora s le reutilizeze n acelai mod, cu aceeai semnificaie!

Faza 2. Ulterior crerii, diverse persoane pot adopta acel termen fcnd diverse afirmaii cu
acesta:
Am vzut nite mere. Merele sunt roii. Merele cresc n copac. Merele cost 3 lei/kilogram...
O mulime de afirmaii despre acelai lucru formeaz o descriere (altfel spus, o "descriere" = o enumerare de
proprieti). Fiecare nou afirmaie contribuie la mbogirea descrierii acelui lucru

Faza 3. Persoane diferite pot face descrieri diferite, cu termeni preluai din surse diferite:
Merele sunt roii. Merele sunt verzi. Merele cresc n copac. Merele cresc n ap.
Descrierile se pot completa reciproc, dar pot fi i contradictorii!

Faza 4. Cnd mai multe persoane se pun de acord asupra unei descrieri stabile, acea descriere
devine semnificaia termenului i, pentru a putea fi reutilizat, trebuie s inclus ntr-un dicionar
(vocabular, terminologie, ontologie). Aadar semnificaia e o descriere format din proprieti definitorii:
Merele sunt fructe, rotunde, comestibile, cresc n copaci din familia rozacee etc.
(acestea sunt exemple de proprieti definitorii, care mpreun dau semnificaia conceptului de Mere;
dac eliminm una, e posibil s nu mai vorbim de Mere!
astfel de afirmaii sunt considerate axiome i n RDF se bazeaz pe termeni standardizai)
Merele cost 3 lei/kilogram.
(aceasta e o proprietate nedefinitorie - mbogete descrierea, dar nu contribuie la semnificaia
conceptului de "Mere";
astfel de afirmaii nu trebuie s apar ntr-un vocabular, dar pot apare ntr-o baz de cunotine pentru a
fi interogate!)
Comparaie RDF-XML
Aa cum XML nu impune ce marcatori i atribute s folosim, RDF nu impune ce termeni
s folosim n afirmaii. Putem utiliza orice termeni, dar (deosebire de XML!) trebuie
s indicm obligatoriu proveniena fiecrui termen
"proveniena"="spaiul de nume"= o adres de domeniu pe care o deine creatorul termenul
n aceeai afirmaie putem mbina termeni de provenien diferit:
@prefix : <http://johnsmith.ro#>.
@prefix b: <http://buchmann.ro#>.
:Mary b:daughterOf :John.
(prin asta am indicat c termenii prefixai cu b: au fost creai de deintorul adresei de domeniu
buchmann.ro, iar termenii prefixai cu : au fost creai de deintorul adresei johnsmith.ro; deoarece
adresele de domeniu sunt unice n Internet, ele ofer o garanie de identificare a creatorilor cunotinelor)

Beneficiu major: Preluarea de termeni din alte surse permite conectarea grafurilor din baze
de cunotine diferite!

Observaii:
n exemplele din curs/seminar, se va presupune c deinem adresa http://expl.at (iar cnd sunt
necesare mai multe, http://other.at, poate i altele)
n diverse cri i tutoriale, se folosete adresa http://example.org (sau o adres cumprat de autorul
crii)
n exemplele voastre (inclusiv proiect) folosii o adres pe care o deinei deja sau folosii una fictiv,
cu numele vostru de familie
pentru a realiza exerciiile, adresa nu e obligatoriu s existe, ci doar s indice fr ambiguitate
"proprietarul termenilor" pe care i folosii
Comparaie RDF-XML
Ca i n cazul XML, termenii se scriu cu caractere UNICODE, deci pot fi
scrii n orice limb. Prin urmare este corect i afirmaia:
:Mary :fiicaLui :John .
(totui, e recomandat s folosim mereu acelai termen cnd ne referim la acelai
lucru... deci s nu scriem :fiicaLui ntr-o afirmaie, apoi :daughterOf n alta, cci
conectarea afirmaiilor n grafuri i interogarea lor se bazeaz pe reutilizarea
consistent a termenilor!)

Ca i n XML, termenii nu sunt "cuvinte" direct preluate din limbajul natural.


Important e ca termenul din mijloc s exprime o relaie ntre primul i al
treilea. Uneori un termen e construit din mai multe cuvinte, pentru a uura
nelegerea de ctre un cititor uman. Exemplu:
:Mary :fiicaDinPrimaCasatorieALui :JohnSmithDinClujNapoca .
(totui, pe ct posibil trebuie s simplificm afirmaiile; acest exemplu ar trebui
descompus n mai multe afirmaii, pentru a permite separarea oraului Cluj
Napoca pentru interogri!)

Ca i n XML, termenii nu trebuie s fie inteligibili de ctre un cititor uman i


nu sunt cuvinte cheie impuse. La fel de corect ca exemplele de mai sus este
i urmtorul:
:MMM :fff :JJJ .
Comparaie RDF-XML
Ca i XML, RDF nu e un limbaj ci un set de reguli de bun formare. Spre
deosebire de XML, RDF ofer mai multe sintaxe alternative, fiecare cu
propriile reguli de bun formare.
Exemple:
Sintaxa Turtle:
@prefix : <http://expl.at#>.
:Mary :daughterOf :John.
Sintaxa N-triples:
<http://expl.at#Mary> <http://expl.at#daughterOf> <http://expl.at#John>.

Sintaxa RDF/XML:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ex="http://expl.at#">
<rdf:Description rdf:about="http://expl.at#Mary">
<ex:daughterOf rdf:resource="http://expl.at#John">
</rdf:Description>
</rdf:RDF>
(iat chiar un vocabular XML specializat pe afirmaii RDF!)
Comparaie RDF-XML
Aa cum vocabularele XML permit unor organizaii
s se pun de acord asupra unor structuri XML,
mai multe organizaii se pot pune de acord
asupra semnificaiilor unor termeni prin
definirea unui vocabular RDF (ontologie,
terminologie) :
Termenii unui vocabular vor indica prin prefix nu doar
creatorul, ci i vocabularul n care li s-a fixat
semnificaia
Semnificaia se fixeaz prin afirmaii definitorii cu
termeni standardizai ("axiome")
Termenii standardizai se preiau din terminologiile
standard oferite de W3C (OWL, RDF/S). Exemple de
termeni standardizai:
rdf:type (verbul "a fi")
Exemplu de fixare a semnificaiei (pentru
termenul b:rudCu)
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix b: <http://buchmann.ro/vocabularul-meu#>.
b:rudCu rdf:type owl:SymmetricProperty.
Relaia de "rudenie" e definit aici ca fiind o relaie reciproc, deci are
ntotdeauna loc n ambele sensuri (n mod implicit relaiile RDF sunt
unidirecionale!)
Aceasta e o semnificaie vag, ar trebui mbogit i cu alte axiome pentru
a detalia c relaia de rudenie poate nsemna frate, printe, bunic etc...
(pstrm totui exemplul minimal, cci trebuie s studiem mai nti toi
termenii standardizai)
Axioma trebuie stocat ntr-un vocabular on-line pe care oricine s l poat
consulta, la adresa indicat prin prefix (http://buchmann.ro/vocabularul-
meu)
Prefixele rdf: i owl: corespund terminologiilor standardizate de ctre W3C

Oricine va adopta termenul astfel definit va indica prin prefix vocabularul n care s-
a fixat semnificaia:
@prefix b: <http://buchmann.ro/vocabularul-meu#>.
@prefix : <http://organizatie-oarecare.ro#>.
:Mary b:rudCu :John.
Pe baza vocabularului, orice calculator va deduce n mod automat i afirmaia
Cum se folosesc
vocabularele/ontologiile?
Clienii vor consulta vocabularul pentru a construi interogri
fiind vorba de baze de cunotine distribuite n Web, trebuie s permitem interogarea lor de ctre
oricine, nu doar de ctre cei care le-au creat
clienii nu sunt neaprat umani, pot fi motoare de cutare, browsere, aplicaii desktop sau Web,
ageni software inteligeni
analogie cu MySQL: nu poi interoga preurile unor produse dac nu tii cum se numete cmpul
n care sunt stocate
Axiomele unui vocabular permit calculatoarelor s realizeze deducii logice automatizate
deduciile automate vor mbogi bazele de cunotine fr intervenie uman
unele deducii permit detectarea de contradicii (afirmaii ce contravin cu semnificaia fixat a
unor termeni)
afirmaiile contradictorii pot fi tolerate, dar trebuie detectate

Sunt vocabularele obligatorii?


Afirmaiile pot fi "utile" (interogabile) i fr a li se fixa semnificaia termenilor, dac baza
de cunotine e de uz intern/limitat, adic
a fost creat de aceeai persoan care creeaz i interogrile
nu va trebui interogat de altcineva n viitor, toate interogrile au fost decise i programate
analogie cu MySQL: pentru unele interogri e suficient s tii c exist o coloan "pre" (nu
neaprat s tii ce semnificaie are, dac apare i n alte baze de date etc.)
Calculatorul poate realiza deducii i fr axiome
axiomele sunt un tip particular de reguli (reguli "ascunse" n afirmaii)
exist i alte moduri de exprimare a regulilor (de exemplu, ncorporate n interogri)
Comparaie tehnic ntre RDF i
XML
XML RDF
Reprezint informaia n arbori Reprezint informaia n grafuri direcionate (orice
arbore e un graf, dar nu i invers)
Are o singur sintax concret, cu un singur set de Are mai multe sintaxe concrete (unele bazate pe
reguli de bun formare XML), fiecare cu propriul set de reguli de bun formare
Elementele XML au ordine (fraii apar ntr-o ordine Afirmaiile RDF nu au ordine (indiferent de ordinea n
fix i se pot accesa pe baz de ordine: firstChild, care le scriem, graful i interogrile arat la fel)
lastChild, childNodes etc.) n schimb atributele XML nu
au.
Consecin: Adugarea unei afirmaii noi se face
Consecin: Adugarea de elemente noi e mai dificil, simplu, fr s ne pese de poziionarea. Adugarea de
necesit o poziionare precis. Adugarea de atribute noi termeni noi la o afirmaie nu e permis, cci afecteaz
e mai simpl, dar trebuie ataate unui element. structura de triplet.
Vocabularele XML se folosesc la validare (verificarea Vocabularele RDF nu se folosesc la validare, ci la fixarea
structurii i tipurilor de date) semnificaiei termenilor din afirmaii n scopul
automatizrii deduciilor logice
Vocabularele XML sunt formate din reguli de validare
construite cu limbaje specializate, care nu sunt neaprat Vocabularele RDF sunt formate din axiome, care sunt tot
tot de tip XML (vezi DTD) afirmaii RDF, ns unele ce folosesc termeni
standardizai
Relaiile ntre elemente XML sunt vagi (relaii printe- Relaiile ntre termenii RDF sunt explicite, pot fi la rndul
copil a cror semnificaie e interpretat de om) lor descrise ntr-un mod n care semnificaia s poat fi
interpretat de calculator
Elementele XML pot avea proprieti cu valori simple, Termenii RDF pot avea proprieti cu valori simple,
numite atribute (cu tipuri impuse prin vocabulare, de numite tot atribute (cu tipuri preluate de la XML
obicei prin XML Schema) Schema)
Marcatorii i atributele nu trebuie s aib Orice termen RDF trebuie s aib provenien, cu
proveniena explicit unele excepii (de ex., termeni anonimi)
RDF
Resource Description Framework = o familie de specificaii pentru
descrierea a ORICE (descrieri de "resurse")
n RDF, resurs = orice lucru/persoan/aspect despre care se poate
face o afirmaie (deci, ORICE)
Axioma fundamental: Orice este o resurs

Tipuri de resurse
Resurse adresabile = orice se poate accesa n Web printr-un URL
(fiiere, conturi e-mail, servicii Web, paragrafe din pagini HTML);
Resurse neadresabile = orice altceva (persoane, concepte, locuri
etc.), ceva ce exist n afara Web-ului, fiind identificabil printr-un URI
Resursele neadresabile pot fi "reprezentate" n Web de unele
adresabile:
O persoan (neadresabil) poate avea un cont de e-mail, o pagin Facebook, un CV
(adresabile)
Un ora (neadresabil) poate avea un site, o pagin Wikipedia, o imagine etc. (adresabile)
Noiunea de "frate" (neadresabil) poate avea o pagin Wikipedia, o pagin de dicionar
explicativ etc. (adresabile)
13
Resurse
Trebuie s fie clar cnd vorbim despre o resurs
adresabil i cnd despre una neadresabil:
@prefix : <http://buchmann.ro#>.
:MichaelJackson :frateCu :JanetJackson. (afirmaie despre persoan)
<http://www.michaeljackson.com> :creatCu :PHP.(afirmaie despre site)
<http://www.michaeljackson.com> :paginaLui :MichaelJackson. (afirmaie ce conecteaz persoana cu site-
ul)

Riscul e mai mare atunci cnd termenul (URI) i adresa


(URL) au aceeai adres de domeniu:
@prefix : <http://www.michaeljackson.com#>.
:MichaelJackson :paginaLui :MichaelJackson.
(eronat! Nu e asigurat distincia dintre pagina HTML i persoan!)

Presupunnd c site-ul exist i nu putem modifica URL-urile fiierelor, vom realiza distincia n unul din modurile:
a) La nivel de termen:
@prefix : <http://www.michaeljackson.com#>.
:MichaelJackson :paginaLui :persoanaMichaelJackson.
b) La nivel de prefix:
@prefix : <http://www.michaeljackson.com#>.
@prefix t: <http://www.michaeljackson.com/termeni#>.
:MichaelJackson t:paginaLui t:MichaelJackson.

14
Relaia URL-URI
Atenie la posibila confuzie ntre URI i URL! Ambele ncep cu un protocol i o adres (de
domeniu sau IP):
URL sunt adrese, ele indic unde s-a gzduit un anumit fiier i cum poate fi accesat
n Web:
http://buchmann.ro/cv#experienta
(a se nelege: exist pe site-ul buchmann.ro o pagin cv cu un paragraf cu ID="experienta", ce
poate fi deschis cu browserul)
URI sunt identificatori (ca CNP-urile din buletin sau ISBN-urile la cri), ei indic doar
identitatea unui lucru i proveniena identificatorului:
http://buchmann.ro/voc#frate
(a se nelege: proprietarul domeniului buchmann.ro a definit termenul "frate", a crui semnificaie e
descris n vocabularul "voc" i poate fi folosit n orice afirmaii de ctre cei care l adopt)

Dileme:

Dar dac tastez URI-ul http://buchmann.ro/voc#frate n browser?


Se recomand ca serverul buchmann.ro s prentmpine astfel de situaii, gzduind la adresa
http://buchmann.ro/voc chiar vocabularul n care s-a definit semnificaia termenului "frate"
(sub form de fiier RDF sau ca pagin HTML n care exist un DIV/paragraf cu ID="frate")

Dar dac folosesc URL-ul http://buchmann.ro/cv#experienta ntr-o afirmaie?


E ok, cu condiia ca afirmaia s se refere chiar la paragraf (ca "resurs adresabil"), de exemplu:
:BuchmannRobert :areExperientaDescrisaIn <http://buchmann.ro/cv#experienta>.
Sintaxe RDF

16
RDF
RDF ofer*:
Un model de date, cu semantic formal i sintax
abstract (bazat pe grafuri)
Multiple sintaxe concrete (pentru serializarea grafurilor)
Un limbaj de interogare a grafurilor (SPARQL)
O terminologie standard de utilizat n axiome
Bune practici pentru publicarea grafurilor n Web
La origini, RDF a fost o tehnic de ataare de
metadate la diverse resurse Web (similar tagului
META pentru pagini Web)
A evoluat ntr-un model pentru reprezentarea
cunotinelor
*http://www.w3.org/2001/sw/wiki/Main_Page
*http://www.w3.org/standards/techs/rdf#w3c_all 17
RDF are
Sintaxele RDF
o sintax abstract (pentru proiectarea cunotinelor) = se refer la structura general
a grafurilor, nu la delimitatori, de aceea exemplele abstracte se dau adesea n form
grafic
mai multe sintaxe concrete (pentru serializare, adic scrierea cunotinelor ca text) =
se refer la delimitatori, iar unele sintaxe impun i cteva cuvinte cheie

Reguli de bun formare impuse de sintaxa abstract


Orice afirmaie e format din 3 termeni:
subiect,
predicat (numit i proprietate, relaie, atribut),
obiect
Predicatul exprim o relaie unidirecional (o proprietate a subiectului, avnd obiectul
ca valoare)
n general termenii trebuie s fie URI (identificatori de resurse) sau URL (dac vorbim de
resurse adresabile; oricum, orice URL este i un URI, ns nu i invers!).
Se permit unele excepii privind URI:
Obiectul poate fi anonim (fr identitate, fr provenien)
Obiectul poate fi o valoare simpl (de un anumit tip integer, boolean etc.)
Subiectul poate fi anonim (fr identitate, fr provenien), dar NU poate fi o valoare!
Predicatul e obligatoriu URI, nu se admit excepii
Mai multe afirmaii se pot grupa ntr-un graf
un graf poate avea propriul URI ("graf identificat", "named graph")
un graf identificat poate servi ca termen n afirmaii (se pot face afirmaii despre un graf n ansamblu)
Exemplu n sintaxa
abstract
Anna is the mother of Andrew and Peter.
Peter is the father of someone having the age of 20.
Peter's age is 40.
40
http://expl.at#isMotherOf http://expl.at#hasAge
http://expl.at#Anna http://expl.at#Peter

http://expl.at#isMotherOf http://expl.at#isFatherOf

20
http://expl.at#Andrew
_:x
http://expl.at#hasAge

De aici ncolo, vom presupune c proveniena termenilor este http://expl.at#


Observai c unele obiecte sunt valori simple (numerele 20, 40)
Observai c proprietile sunt ntotdeauna URI
unele sunt relaii (isMotherOf, isFatherOf)
altele sunt atribute (hasAge)
Observai c unii termeni pot fi lipsii de identitate/provenien (_:x)
acesta e fiul neideintificat al lui Peter
identificatorul su este arbitrar ales (poate fi generat arbitrar)
chiar dac nu are identitate, are "descriere" (are proprieti, afirmaii despre acesta) 19
Exemplu n sintaxa
abstract
Se pot face i afirmaii despre proprieti:

Peter is the father of someone whose age is 20.


Age is measured in years. (proprietatea devine subiect!)

http://expl.at#isMotherOf http://expl.at#years
http://expl.at#Anna
http://expl.at#Peter

http://expl.at#isMotherOf http://expl.at#measuredIn

http://expl.at#Andrew http://expl.at#isFatherOf

http://expl.at#hasAge
te cuvinte: 20
_:X
prietatea poate deveni subiect (sau obiect!)
proprietate poate avea la rndul su proprieti
proprietile pot fi descrise (de obicei descrierile de proprieti apar n vocabulare 20
Exemplu n sintaxa
abstract
Prin gruparea unor afirmaii ntr-un graf identificat (cu
propiu URI), graful n ansamblul su poate deveni termen
al altor afirmaii:
Mary believes that Anna is the mother of Andrew and Peter.

http://expl.at#years
http://expl.at#isMotherOf
http://expl.at#Anna http://expl.at#Peter

http://expl.at#isMotherOf http://expl.at#measuredIn
e liefs
eB
# som
http://expl.at#Andrew xp l.at http://expl.at#isFatherOf
://e
http

http://expl.at#believes http://expl.at#hasAge
20
http://expl.at#Mary _:X

=> Matematic, un graf RDF este un hipergraf


21
Exemple n sintaxe concrete
Anna is the mother of Andrew and Peter.
Peter is the father of someone having the age of 20.
Peter's age is 40.
40
http://expl.at#isMotherOf http://expl.at#hasAge
http://expl.at#Anna http://expl.at#Peter

http://expl.at#isMotherOf http://expl.at#isFatherOf

20
http://expl.at#Andrew
_:x
http://expl.at#hasAge

Sintaxa Turtle:
@prefix : <http://expl.at#> .
:Anna :isMotherOf :Andrew, :Peter.
:Peter :hasAge 40; :isFatherOf [:hasAge 20].

Sintaxa N-triples:
<http://expl.at#Anna> <http://expl.at#isMotherOf> <http://expl.at#Andrew> .
<http://expl.at#Anna> <http://expl.at#isMotherOf> <http://expl.at#Peter> .
<http://expl.at#Peter> <http://expl.at#isFatherOf> _:x .
_:x <http://expl.at#hasAge> "20"^^<http://www.w3.org/XMLSchema#integer> . 22
<http://expl.at#Peter> <http://expl.at#hasAge>
Exemple n sintaxe concrete
Sintaxa N-triples:
<http://expl.at#Anna> <http://expl.at#isMotherOf> <http://expl.at#Andrew> .
<http://expl.at#Anna> <http://expl.at#isMotherOf> <http://expl.at#Peter> .
<http://expl.at#Peter> <http://expl.at#isFatherOf> _:x .
_:x <http://expl.at#hasAge> "20"^^<http://www.w3.org/XMLSchema#integer> .
<http://expl.at#Peter> <http://expl.at#hasAge>
"40"^^<http://www.w3.org/XMLSchema#integer> .

Tipuri de date XML Schema,


au proprii identificatori standard!
Prefixul evit
repetarea
provenieneir Tip detectat automat n Turtle,
Afirmaii grupate dup Sintaxa Turtle: din absena ghilimelelor!
subiect+predicat @prefix : <http://expl.at#> .
:Anna :isMotherOf :Andrew, :Peter.
:Peter :hasAge 40; :isFatherOf [:hasAge 20].
Afirmaii grupate
dup subiect
Proprietile nodului anonim
se includ n paranteze ptrate
Exemple n sintaxe concrete
Sintaxele N-triples i Turtle sunt compatibile:
Orice fiier bine format n N-triples e considerat bine format i n
Turtle
n consecin, cele dou sintaxe se pot mbina n acelai fiier (de
tip Turtle) i chiar n aceeai afirmaie:

@prefix : <http://expl.at#> .
<http://expl.at#Anna> <http://expl.at#isMotherOf>
<http://expl.at#Andrew> .
<http://expl.at#Anna> <http://expl.at#isMotherOf>
<http://expl.at#Peter> .
:Peter :hasAge 40; :isFatherOf [<http://expl.at#hasAge> 20].
Exemplu cu graf identificat n
sintaxa abstract
Mary believes that Anna is the mother of Andrew and Peter.

http://expl.at#years
http://expl.at#isMotherOf
http://expl.at#Anna http://expl.at#Peter

http://expl.at#isMotherOf http://expl.at#measuredIn
lie fs
eBe
om
http://expl.at#Andrew l. at# s
xp http://expl.at#isFatherOf
://e
http

http://expl.at#believes http://expl.at#hasAge
20
http://expl.at#Mary _:X

25
Exemple cu graf identificat n
sintaxe concrete
Sintaxa TriG:
extensie Turtle ce permite gruparea afirmaiilor n grafuri (cu sau fr
identificator)
@prefix : <http://expl.at#> . Graf implicit, neidentificat
{:Mary :believes :someBeliefs.
:Peter :fatherOf [:hasAge 20].
:hasAge :measuredIn :years.} Graf identificat

:someBeliefs {:Anna :isMotherOf :Andrew, :Peter.}

Sintaxa N-quads:
extensie N-triples ce permite gruparea afirmaiilor n grafuri (cu sau fr
Graf implicit,
identificator) neidentificat
<http://expl.at#Peter> <http://expl.at#isFatherOf> _:x .
_:x <http://expl.at#hasAge> "20"^^<http://www.w3.org/XMLSchema#integer> .
<http://expl.at#hasAge> <http://expl.at#measuredIn> <http://expl.at#years> .
<http://expl.at#Mary> <http://expl.at#believes> <http://expl.at#someBeliefs> .
<http://expl.at#Anna> <http://expl.at#isMotherOf> <http://expl.at#Andrew>
<http://expl.at#someBeliefs> .
<http://expl.at#Anna> <http://expl.at#isMotherOf> <http://expl.at#Peter>
<http://expl.at#someBeliefs> . Graful identificat apare ca al
patrulea termen!

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