|
Politica de confidentialitate |
|
• domnisoara hus • legume • istoria unui galban • metanol • recapitulare • profitul • caract • comentariu liric • radiolocatia • praslea cel voinic si merele da aur | |
XML - Definirea unui cadru de descriere a resurselor Internet bazat pe XML | ||||||
|
||||||
Prezentare generala d5b22bo Una din solutii, pe care o vom prezenta in continuare ca studiu de caz, este de a utiliza metadate pentru descrierea datelor continute de Internet. Metadata reprezinta un set de date referitoare la date (resurse Web). RDF (Resource Description Framework) este un cadru menit sa proceseze metadatele, oferind interoperabilitatea intre diverse aplicatii care fac schimb inteligent de informatii, in sensul intelegerii de catre masina a semanticii acestora. RDF isi gaseste loc in utilizari ca: inspectarea resurselor, oferind noi capabilitati motoarelor de cautare; catalogarea datelor pentru descrierea si/sau evaluarea continutului si relatiilor
intre diverse informatii stocate intr-o biblioteca electronica, site Web etc.
agenti inteligenti, facilitind schimbul si partajarea cunostintelor; descrierea drepturilor de proprietate intelectuala a paginilor Web; securitate personala sau generala a datelor (oferind suport pentru semnaturi
digitale utile in comertul electronic, tranzactii economice si juridice etc.)
In primul rind, RDF trebuie sa defineasca un mecanism de descriere a resurselor independent de domeniul de folosire a datelor, fara a specifica a priori vreo semantica. Definirea acestui mecanism trebuie sa ramina neutra, dar generala, dupa cum vom vedea mai jos. Pentru a facilita definirea datelor RDF, va fi necesar un sistem de clase similar celui din programarea orientata-obiect. O colectie de clase (dezvoltata pentru un anumit scop specific) se numeste schema. Clasele sint organizate ierarhic oferind extensibilitatea prin rafinarea subclaselor. Astfel, pentru crearea unei noi scheme putem sa ne bazam pe o schema de baza (un fel de clasa abstracta in termenii programarii orientate obiect). Se asigura in acest mod si reutilizarea definitiilor de metadate. Datorita caracterului extensibil, agentii care proceseaza metadatele vor fi capabili de versatilitate in manipularea schemelor. Mostenirea multipla permite exploatarea in mai multe metode a aceleasi informatii. E posibil sa cream instante de date RDF bazate pe multiple scheme din diverse surse. Influienta RDF se poate intrevedea in structurarea inteligenta a documentelor (realizata in SGML ori XML), in reprezentarea cunostintelor (KR - Knowledge Representation), in standardizarea Web-ului. Alte arii de interes ar fi limbajele orientate-obiect si de modelare a cunostintelor sau bazele de date distribuite. Modelul de baza al RDF resurse proprietati declaratii Modul de reprezentare graf orientat: nodurile sint fie subiecte fie obiecte, iar arcele semnifica
un predicat; marcaje: <subject> HAS <predicate> <object> Individul Sabin Corneliu Buraga, avind adresa busaco@infoiasi.ro, este creatorul resursei https://www.infoiasi.ro/Ibusaco/odix. In acest caz, obiectul nu va fi un sir de caractere, ci o colectie formata din trei literali: "individ", "Sabin Corneliu Buraga", "busaco@infoiasi.ro". Vom vedea ulterior cum specificam acest lucru in RDF. Sintaxa de baza RDF Mai multe definitii pentru o anumita resursa pot fi grupate in cadrul elementului Description (suport pentru incapsulare). Regulile sintactice sint urmatoarele: a1i RDF ::= a'<rdf:RDF>'i descript* a'</rdf:RDF>'i rdf reprezentat cu italice este utilizat pentru a reprezenta un prefix al spatiului de nume, util pentru imbricarea exacta a tag-urilor de inceput si de sfirsit. Pentru exemplul de mai sus, avem: <rdf:RDF> Aici prefixul 's' se refera la un prefix specific ales de autorul expresiei RDF si definit intr-o declaratie a spatiului de nume XML, conform unei scheme: xmlns:s="https://description.org/schema/". Scheme si spatii de nume Intelesul unui termen (lingvistic sau nu) in RDF este exprimat printr-o referinta la o schema. Putem privi schema ca un fel de dictionar, definind termenii pe care ii vom utiliza in declaratiile RDF si asociindu-le o semantica precisa. Se pot folosi o varietate de scheme, specificate sau nu ca documente separate. O schema contine definitii si restrictii de utilizare a proprietatilor. Pentru evitarea confuziilor dintre defintiile independente a unui acelasi lucru, RDF se bazeaza pe facilitatea spatiilor de nume din XML. Spatiile de nume ofera o modalitate simpla de a folosi la un moment dat o unica definitie a unui termen. Fiecare predicat al unei declaratii RDF trebuie identificat de o unica schema. Un element Description poate insa contine declaratii avind predicate din mai multe scheme. Schemele in detaliu O schema consta dintr-un set de clase si proprietati. Sint definite o serie de clase si de proprietati fundamentale. De asemeni, pentru schemele RDF se defineste un spatiu de nume XML denumit rdfs. Seturile de clase si proprietatiClase fundamentale rdfs:Resource defineste clasa resurselor, corespunzind conceptului de obiect din limbajele de programare orientate-obiect. rdf:Property reprezinta clasa proprietatilor resurselor. rdfs:Class corespunde conceptului general de tip sau categorie. Cind o schema defineste o noua clasa, resursa reprezentind acea clasa trebuie sa aiba o proprietate rdfs:type a carei valoare e resursa rdfs:Class. Clasele RDF pot specifica, de exemplu, pagini Web, tipuri de documente, baze de date, persoane etc. Ierarhiile de clase RDF rdf:type indica faptul ca o resursa este membra a unei clase. Atunci cind o
resursa are o proprietate rdf:type a carei valoare reprezinta o anumita clasa,
vom spune ca resursa este o instanta a acelei clase. Valoarea lui rdf:type pentru
o resursa este o alta resursa, instanta a lui rdfs:Class. Clasele individuale
intotdeauna vor avea rdf:type asignata cu valoarea rdfs:Class (ori o sub-clasa
a lui rdfs:Class). O resursa poate fi instanta a mai multor clase, desigur.
rfds:subClassOf indica relatia de mostenire a claselor. Este o relatie tranzitiva.
Doar instantele lui rdfs:Class pot avea proprietatea rfds:subClassOf si valoarea
ei este intotdeauna rdf:type rdfs:Class. O clasa poate fi sub-clasa a mai multor
clase. O clasa niciodata nu poate fi declarata ca sub-clasa a ei insasi sau
drept sub-clasa a sub-claselor sale. rdfs:subPropertyOf - O proprietate poate avea zero, una sau mai multe proprietati,
specializari ale ei. Daca o anumita proprietate P1 este o subproprietate a unei
proprietati mai generale P2 si daca o resursa A are proprietatea P2 avind asignata
valoarea B, atunci aceasta implica: resursa A are de asemeni proprietatea P1
cu valoarea B. Un model care violeaza o restrictie este un model inconsistent. Diverse aplicatii pot avea comportamente eronate in cadrul unui model inconsistent. Exemple de restrictii: valoarea unei proprietati trebuie sa fie o resursa ori o clasa definita de
proiectantul unei scheme. Aceasta restrictie este exprimata de proprietatea
range (de exemplu, restrictia aplicata proprietatii "autor": valoarea
ei trebuie sa fie o resursa, instanta a clasei "Persoana". o proprietate poate fi utilizata doar de resursele unei anumite clase (de exemplu,
proprietatea "autor" poate fi folosita numai daca valoarea ei este
o resursa a carei instanta este clasa "Tratat"). Acest lucru se exprima
prin proprietatea domain. rdfs:ConstraintResource defineste o sub-clasa a lui rdfs:Resource ale carei
instante sint constructii de scheme implicate in exprimarea restrictiilor (mecanism
de verificare de catre procesoarele RDF a consistentei unui model). rdfs:Range este folosita pentru a restrictiona valorile unei proprietati. Valoarea
lui range este intotdeauna o clasa. Valoarea unei proprietati a carei interval
este A este constrinsa sa fie instanta a clasei A. Putem avea cel mult o proprietate
range. rdfs:domain e utilizata sa specifice o clasa ce poate fi asignata ca valoare
a unei proprietati. O proprietate poate avea valori din zero, una sau mai multe
clase. Daca nu exista vreun domeniu, poate fi folosita oricare resursa. bag - lista neordonata de resurse sau literali, valorile duplicate fiind permise;
secventa - lista ordonata de resurse sau literali. Ca mai sus, valorile pot
fi duplicate; alternativa - o lista de resurse/literali care reprezinta alternative pentru
o singura valoare a unei proprietati. Pentru a crea o colectie de resurse, RDF utilizeaza o resursa suplimentara ce reprezinta o colectie specifica (o instanta a colectiei), aceasta resursa declarindu-se ca instanta a unui tip din cele anterioare, prin proprietatea type. Relatia dintre colectia de resurse si resursele ce apartin acesteia este data de un set de proprietati denumite "_1", "_2", "_3" etc. Colectiile de resurse pot avea si alte proprietati, desigur. Sintaxa formala este urmatoarea: a16i contain ::= seq | bag | alt a18i bag ::= '<rdf:Bag' idAttr? '>' member* '</rdf:Bag>' a19i alt ::= '<rdf:Alt' idAttr? '>' member* '</rdf:Alt>' a20i member ::= referItem | inlineItem a21i referItem ::= '<rdf:li resourceAttr '/>' a22i inlineItem::= '<rdf:li>' value '</rdf:li>' Colectiile pot apare oriunde este permis un element Description, deci regulile sintactice se modifica astfel: a1ai RDF ::= '<rdf:RDF>' obj* '</rdf:RDF>' Exemple: este scris in RDF in modul urmator: <rdf:RDF> Modelul pentru propozitia: in RDF/XML se scrie astfel: <rdf:RDF> Referenti distributivi In urmatorul exemplu: <rdf:Bag ID="pages"> <rdf:Description about="#pages"> exprimam faptul ca 'Sabin Corneliu Buraga' este creatorul colectiei de pagini 'pages'. Referentul elementului Description este o colectie (de tip bag), nu membrii ei. Pentru a specifica faptul ca 'Sabin Corneliu Buraga' este creatorul fiecarei pagini, se foloseste un alt tip de referire, specificat de atributul aboutEach, acest tip de referent fiind numit referent distributiv. <rdf:Description aboutEach="#pages"> Colectii referite de un URI a24i aboutEachAttr ::= 'aboutEach="' URI-ref '"' | 'aboutEachPrefix="' string '"' Atributul aboutEachPrefix declara o colectie ale carei membri sint toate resursele corespunzatoare identificatorilor ce incep cu sirul de caractere al valorii atributului. Un exemplu: <s:Copyright>©1998-1999, Sabin Corneliu Buraga</s:Copyright> </rdf:Description> Nu ne intereseaza cite documente exista pe disc si interdependenta lor. Declaratii despre declaratii Modelarea declaratiilor Sabin Corneliu Buraga este creatorul resursei https://www.infoiasi.ro. o putem vedea ca un fapt (asemanator clauzelor Prolog). Daca insa avem enuntul: Dumitru Todoroi spune ca Sabin Corneliu Buraga este creatorul resursei https://www.infoiasi.ro. exprimam un fapt despre o afirmatie facuta de altcineva. Se definesc urmatoarele proprietati: subiect identifica resursa descrisa de declaratia modelata; valoarea subiectului este
resursa specificata in declaratia initiala (in exemplul nostru https://www.infoiasi.ro); predicat identifica proprietatea originala (reprezentind in cazul nostru creatorul); obiect specifica valoarea proprietatii declaratiei modelate (aici Sabin Corneliu Buraga); tip descrie tipul noii resurse. Toate declaratiile reificate sint instante ale lui
RDF:Statement. Astfel, ele au o proprietate type al carei obiect este RDF:Statement.
Proprietatea type se poate folosi pentru declararea oricarui tip de resursa,
cistigind in acest mod flexibilitate. Formal, un model al datelor RDF se defineste astfel: Fie multimile denumite Resurse, Literali si Declaratii si o submultime numita
Proprietati a multimii Resurse. Fie 3-uplul Ap,s,oS apartinind multimii Declaratii. Atunci, il putem interpreta (lingvistic) in maniera urmatoare: o este valoarea lui p pentru s sau s are proprietatea p avind asignata valoarea o De exemplu, afirmatia: Sabin Corneliu Buraga este creatorul resursei https://www.infoiasi.ro are asociat 3-uplul (element al multimii Declaratii): d: Acreator, ahttps://www.infoiasi.roi, "Sabin Corneliu Buraga"S in care am notat aIi resursa identificata prin URI-ul I, iar ghilimelele incadreaza un literal. Utilizind 3-uple, putem specifica reificarea declaratiilor. Data declaratia (d) de mai sus, exprimam reificarea acesteia ca o noua resursa X dupa cum urmeaza: Atype, aXi, aRDF:StatementiS Cele patru 3-uple specifica proprietatile declaratiei reificate. Proprietatea type defineste tipuri primitive, astfel: Exista un element al multimii Proprietati cunoscut drept RDF:type, un 3-uplu
ARDF:Type, sub, objS avind sub si obj elemente ale multimii Resurse. s1: ARDF:predicate, r, predS s2: ARDF:subject, r, subS s3: ARDF:object, r, objS s4: ARDF:type, r, aRDF:StatementiS RDF defineste trei tipuri de colectii de resurse: liste ordonate (Sequences), liste neordonate (Bags) si liste reprezentind alternative pentru o (unica) valoare a unei proprietati (Alternatives). Formal, acestea se definesc prin: Exista trei elemente ale multimii Resurse care nu apartin multimii Proprietati,
denumite RDF:Seq, RDF:Bag si RDF:Alt. Aplicatii Se specifica spatiile de nume: dc (Dublin Core) disponibil la adresa https://purl.org/metadata/dublin_core si dcq (Dublin Core Qualifiers) la adresa https://purl.org/metadata/dublin_core_qualifiers. In fapt, Dublin Core Metadata defineste o schema avind 15 proprietati de baza utile pentru descrierea oricarei resurse Web, in special pentru activitati de cautare. Prezentam un exemplu de descriere inteligenta a unei publicatii electronice disponibile pe Web, Circles. <rdf:RDF xmlns:rdf="https://www.w3.org/TR/1999/PR-rdf-syntax#" xmlns:dc="https://purl.org/metadata/dublin_core#" xmlns:dcq="https://purl.org/metadata/dublin_core_qualifiers#"> |
||||||
|
||||||
|
||||||
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite |
|