1 / 39

Resource Description Framework (RDF)

Resource Description Framework (RDF). Aplica ții Web Semantice Curs 3. Problemă. Cum putem folosi datele distribuite pe Web?. Creăm vocabulare de termeni (ontologii). Specificăm relații între resurse (instanțe). Problemă.

tex
Download Presentation

Resource Description Framework (RDF)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Resource Description Framework (RDF) Aplicații Web Semantice Curs 3

  2. Problemă Cum putem folosi datele distribuite pe Web? Creăm vocabulare de termeni (ontologii) Specificăm relații între resurse (instanțe)

  3. Problemă • Datele folosite de aplicațiile web sunt stocate in baze de date relaționale • Randurile descriu un obiect • Coloanele reprezintă proprietăți ale obiectelor • Celula reprezintă o valoare a unei proprietăți a unui obiect

  4. Problemă • Cum putem distribui datele pe web? • Varianta 1 • Separăm rânduri diferite pe mai multe calculatoare • Trebuie asigurată gestionarea distribuției informației • Trebuie să asigurăm un model relațional comun

  5. Varianta 2 • Distribuim datele pe coloane • Trebuie asigurat un mod prin care să facem legătura între datele de pe aceleași rânduri

  6. Varianta 3 • Distribuim informații la nivel de celulă • Fiecare calculator reține un număr de celule și un mod de a identifica obiectul la care se referă informațiile • Nevoia de a identifica în mod unic • Obiectele descrise (rândurile) • Proprietățile descrise (coloanele) • Valorile efective

  7. RDF – Resource Description Framework • RDF is a standard model for data interchange on the Web (W3C definition) • RDF – recomandare W3C din 2004 • Tehnologie matură a web-ului semantic • Permite exprimarea datelor distribuite pe internet v. varianta 3 (slide 6)

  8. RDF – definirea resurselor • Permite specificarea resurselor de tip tripletă (coloană, rând, valoare) • coloana/rând/valoare identificate prin URI-uri • URI = Uniform Resource Identifier (RFC 3305) • Există următoarele asocieri • Resursă  Subiect  Rând • Predicat  Coloană  Proprietate Predicat/proprietate Subiect/resursă Valoare

  9. RDF • Statement/ Declarație (Propoziție) = tripletă (subiect, predicat, atribut) • Subiect = Resursa – despre cine se face afirmația • Predicat – exprimă relația dintre subiect și atribut • Atribut (valoare) – caracteristică a subiectului • Atributul poate fi la rândul său resursă sau poate fi o valoare

  10. Grafuri RDF • Propozițiile pot fi exprimate ca și grafuri • Grafuri RDF • Mai multe propoziții referitoare la aceeași resursă • Atributele din unele propoziții reprezintă subiectele altor propoziții predicat subiect atribut

  11. Grafuri RDF areOcupație Popescu Ion Student areCNP locuiesteIn areOcupație 189... locuieșteIn Bucuresti Ionescu Mihai areCNP areCapitală CapitalăA 188.. România

  12. Vocabulare RDF • Vocabularele RDF = colecție de definiții de proprietăți • Sunt disponibile pe web • Resursele dintr-un vocabular au un prefix comun în cadrul URI • Exemple de vocabulare: • FOAF – friend of a friend • SIOC – semantically interlinked online communities • SKOS – simple knowledge organisation system • DC – Dublin Core • Vocabularele RDF vor fi analizate în detaliu în următoarele cursuri (5/6)

  13. Identificarea resurselor prin URI-uri • Resursele sunt identificate prin URI-uri • QName = Qualified Name – abreviere a unui URL full • QName= prefix asignat unui spațiu de nume + ; + localname • Exemplu: • http://xmlns.com/foaf/0.1/name<=> foaf:name • Foaf = prefixul definit pentru spațiul de nume http://xmlns.com/foaf/0.1/

  14. Spații de nume și prefixe • prefix rdf:, namespace URI: http://www.w3.org/1999/02/22-rdf-syntax-ns# • prefix rdfs:, namespace URI: http://www.w3.org/2000/01/rdf-schema# • prefix dc:, namespace URI: http://purl.org/dc/elements/1.1/ • prefix owl:, namespace URI: http://www.w3.org/2002/07/owl# • prefix xsd:, namespace URI: http://www.w3.org/2001/XMLSchema# • Modul de definire al spațiilor de nume depinde de sintaxa aleasă pentru RDF

  15. Noduri vide – blank nodes • TBL: asociem fiecărei resurse un URI și în momentul în care accesăm acel URI obținem informații relevante despre resursă + relații • Problemă: resurse anonime • Resurse care nu sunt reprezentate pe web • Nu putem sa le asociem un URI sau nu le cunoaștem identitatea • Acestor resurse le sunt asociate noduri vide (blank node/ bnode)

  16. Tipuri de atribute • Atributele pot fi de 2 tipuri • Atribute de tip resursă • Atribute tip valoare • Atributelor de tip valoare li se poate specifica explicit tipul • ”valoare”^^<tip data> • Exemple: • “1850-01-15”^^xsd:date • “25”^^xsd:integer

  17. Descrierea resurselor utilizând RDF • <rdf:Description rdf:about="http://dbpedia.org/resource/Mihai_Eminescu"> • <rdf:type rdf:resource="http://dbpedia.org/ontology/Artist"/> • </rdf:Description> http://dbpedia.org/resource/Mihai_Eminescu http://dbpedia.org/ontology/Artist

  18. Descrierea resurselor utilizând RDF • Type(http://dbpedia.org/resource/Mihai_Eminescu, http://dbpedia.org/ontology/Artist) • (http://dbpedia.org/resource/Mihai_Eminescu, rdf:type, http://dbpedia.org/ontology/Artist) • =>Există mai multe feluri în care descrierile RDF pot fi reprezentate

  19. Facilități ale RDF: rdf:datatype • <rdf:Description rdf:about="http://dbpedia.org/resource/Mihai_Eminescu"> • <dbpedia-owl:birthDate xmlns:dbpedia-owl="http://dbpedia.org/ontology/" rdf:datatype="http://www.w3.org/2001/XMLSchema#date">1850-01-15</dbpedia-owl:birthDate> • </rdf:Description> • Echivalent cu • (http://dbpedia.org/resource/Mihai_Eminescu, dbpedia-owl:birthDate, ”1850-01-15”^^xsd:date)

  20. Facilități ale RDF – rdf:type • Rdf:type precizează că resursa subiect este o instanță a clasei specificată ca atribut • <rdf:Descriptionrdf:about="http://dbpedia.org/resource/Mihai_Eminescu"> • <rdf:typerdf:resource="http://dbpedia.org/ontology/Artist"/> • </rdf:Description> •  http://dbpedia.org/resource/Mihai_Eminescu este o instanță a clasei Artist • Poatefiexprimatuzualprin “a” (în unele tipuri de serializare)

  21. Containere RDF • rdf:Bag • container în cadrul căruia nu contează ordinea elementelor • rdf:Seq • Container în cadrul căruia contează ordinea elementelor • rdf:Alt • Container cu elemente alternative

  22. Exemplu rdf:bag <rdf:Description rdf:about="http://example.org/courses/6.001"> <s:students> <rdf:Bag> <rdf:li rdf:resource="http://example.org/students/Amy"/> <rdf:li rdf:resource="http://example.org/students/Mohamed"/> <rdf:li rdf:resource="http://example.org/students/Johann"/> <rdf:li rdf:resource="http://example.org/students/Maria"/> <rdf:li rdf:resource="http://example.org/students/Phuong"/> </rdf:Bag> </s:students> </rdf:Description>

  23. Exemplu rdf:alt <rdf:Description rdf:about="http://example.org/packages/X11"> <s:DistributionSite> <rdf:Alt> <rdf:li rdf:resource="ftp://ftp.example.org"/> <rdf:li rdf:resource="ftp://ftp1.example.org"/> <rdf:li rdf:resource="ftp://ftp2.example.org"/> </rdf:Alt> </s:DistributionSite> </rdf:Description>

  24. Facilități RDF – rdf:parseType • <dc:title rdf:parseType="Literal"> • F.Kafka: <html:strong>Procesul</html:strong> • </dc:title> • Utilizarea parseType cu atributul ”Literal” specifică faptul că nu va fi prelucrat conținutul elementului

  25. Rdf:parseType • parseType cu atributul ”Resource” parsează resursa și creează un nod vid cu conținutul acesteia <rdf:Description rdf:about="http://www.example.com/2002/04/products#item10245"> <exterms:weight rdf:parseType="Resource"> <rdf:value rdf:datatype="&xsd;decimal">2.4</rdf:value> <exterms:units rdf:resource="http://www.example.org/units/kilograms"/> </exterms:weight> </rdf:Description> Rdf:resource indică faptul că valoarea proprietății este de tip resursă și identificatorul acesteia este URI-ul dat Rdf:value specifică valoarea principală a unei proprietăți compuse

  26. RDF:parseType, resource, value weight item10245 _blankNode units Rdf:value kilograms 2.4

  27. Utilizarea RDF pentru reprezentare hypergrafuri • In mathematics, a hypergraph is a generalization of a graph, where an edge can connect any number of vertices. (wikipedia) • Hypergraf – exprimă proprietăți n-are • Exemplu • Utilizatorul u adnotează resursa r cu tagul t t u u t AnnotatedBy AnnotatedWith tagging Adăugăm o resursă suplimentară AnnotatesResource r r

  28. Reification • Un mod de a descrie în RDF afirmații făcute despre alte afirmații RDF • Afirmație RDF obișnuită • (s,p,a) • Reificarea afirmației • Propoziție prop • p areSubiect s • p arePredicat p • p areAtribut a • Taguri utilizate • Rdf:statement • Rdf:subject • Rdf:predicate • Rdf:object

  29. Exemplu reificare • <rdf:Descriptionrdf:ID="item10245"> • exterms:weightrdf:datatype="&xsd;decimal">2.4</exterms:weight> • </rdf:Description> • <rdf:Statementrdf:about="#triple12345"> • <rdf:subjectrdf:resource="http://www.example.com/2002/04/products#item10245"/> • <rdf:predicaterdf:resource="http://www.example.com/terms/weight"/> • <rdf:objectrdf:datatype="&xsd;decimal">2.4</rdf:object> • <dc:creatorrdf:resource="http://www.example.com/staffid/85740"/> • </rdf:Statement>

  30. Serializare RDF • RDF/XML • Turtle • N3 • N-triple

  31. N-triple • Propozițiile RDF enunțate în forma: • <S> <P> <A>. • S,P,A – URI-uri • Exemplu: • <http://dbpedia.org/resource/Mihai_Eminescu"><http://www.w3.org/1999/02/22-rdf-syntax-ns#type><http://dbpedia.org/class/yago/RomanianPoets>.

  32. N3 (Notation 3) • Notație care ar trebui să poată fi citită și de oameni (notația XML e dificil de citit) • Folosește QNames • @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . • @prefix dbpedia: <http://dbpedia.org/resource/> . • @prefix yago: <http://dbpedia.org/class/yago/> . • dbpedia:Mihai_Eminescu a yago:RomanianPoets • a rdf:type

  33. Turtle • Variantă intermediară între N-Triples și N3 • Cea mai tânără variantă (submission W3C 2008) • Sintaxă folosită în cadrul interogărilor SPARQL • Foarte asemănătoare cu N3

  34. RDF/XML • Varianta clasică • Foarte greu de citit de utilizatorii umani • Greșeală clasică – asocierea RDF cu RDF/XML • RDF = limbajul • RDF/XML = o metodă de serializare

  35. Descrierea spațiilor de nume în RDF/XML și N3 RDF/XML N3 • <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://example.org/stuff/1.0/" xml:base="http://example.org/here/"> • @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix ex: <http://example.org/stuff/1.0/>@base <http://example.org/here/>.

  36. Rezumat sintaxă + adăugiri • x!y^z • x!p  p este proprietate a lui x • similar cu x.p in paradigma oop • x^p – acele x care au proprietateap • [p] – exista x care are proprietatea p • => - implicație; folosește la implementarea regulilor

  37. Concluzii • RDF = limbajul cel mai folosit în momentul de față pentru aplicații semantice • Permite descrierea informațiilor despre resurse • Permite conectarea unor seturi de date existente pe web • Sintaxă foarte simplă • Bazat pe triplete (subiect, predicat, atribut) • URI-uri ca identificatori ai resurselor

  38. Test • desenați un graf RDF care să exprime cât mai multe din cunoștințele din pagină • exprimați 2 propoziții folosind o sintaxă la alegere

  39. Referințe • RDF Primer - http://www.w3.org/TR/rdf-primer/ • http://www.w3.org/TR/rdf-mt • http://www.w3.org/TR/REC-rdf-syntax/ • http://www.slideshare.net/busaco/web03-resource-description-framework-presentation

More Related