Web04 Semantic Web: Managementul datelor RDF

1,963 views

Published on

Aspecte privind managementul datelor RDF si a aplicatiilor folosind RDF, inclusiv instrumentele software necesare, sisteme de stocare, maniere de interogare prin SPARQL etc.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,963
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
98
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Web04 Semantic Web: Managementul datelor RDF

  1. 1. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Web semantic Dr. Sabin­Corneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/ Dr. Sabin Buraga http://www.purl.org/net/busaco
  2. 2. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Managementul datelor RDF Dr. Sabin Buraga http://www.purl.org/net/busaco
  3. 3. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> “Trebuie sa adunam fapte  pentru a avea idei.” Georges­Louis de Buffon Dr. Sabin Buraga http://www.purl.org/net/busaco
  4. 4. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> intrebari Ce instrumente de procesare a declaratiilor RDF putem folosi? Dr. Sabin Buraga http://www.purl.org/net/busaco
  5. 5. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Conform (Bailer & Hausenblas, 2007) Dr. Sabin Buraga http://www.purl.org/net/busaco
  6. 6. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> necesitati Procesor (parser) RDF preluarea datelor in diverse formate si  reprezentarea lor ca triple RDF Dr. Sabin Buraga http://www.purl.org/net/busaco
  7. 7. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> necesitati Serializator (serializer) RDF exprimarea modelului intern RDF in diverse formate standard: RDF/XML, N3,... Dr. Sabin Buraga http://www.purl.org/net/busaco
  8. 8. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> instrumente API‐uri RDF – exemple: ActiveRDF (Ruby) CARA – CArmen RDF API (Perl) Drive.NET (C#) Jena Semantic Web Toolkit (Java) RAP – RDF API for PHP  RDFLib (Python) Redland (C/C++; bindings in alte limbaje) SemWeb (C#) Wilbur (Lisp) Dr. Sabin Buraga http://www.purl.org/net/busaco
  9. 9. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> necesitati Convertor RDF preluarea datelor din alte modele si transformarea lor in RDF extragerea directa din documentele HTML via scrapers/harvesters Dr. Sabin Buraga http://www.purl.org/net/busaco
  10. 10. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> instrumente Extractoare/convertoare RDF – exemple: Aperture (Java) Babel (Java) Greengrass (C#) LinqToRDF (C#) Piggy Bank (JavaScript – extensie Firefox) Raptor (C) RDF123 (Java) sommer (Java) Semantic Radar (JavaScript – extensie Firefox) Dr. Sabin Buraga http://www.purl.org/net/busaco
  11. 11. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> instrumente Initiativa Triplify: triplify.org Dr. Sabin Buraga http://www.purl.org/net/busaco
  12. 12. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> necesitati Motoare de cautare cauta documente RDF, eventual extrag cunostinte – e.g., meta‐date – din alte documente (HTML, RSS,...) pot beneficia de servicii de pinging pingthesemanticweb.com Dr. Sabin Buraga http://www.purl.org/net/busaco
  13. 13. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> instrumente Motoare de cautare – exemple: Sindice Swoogle SWSE – Semantic Web Search Engine Watson Dr. Sabin Buraga http://www.purl.org/net/busaco
  14. 14. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> necesitati O modalitate standardizata de “convertire” a constructiilor semantice incapsulate in documentele Web in triple RDF Dr. Sabin Buraga http://www.purl.org/net/busaco
  15. 15. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> grddl GRDDL – Gleaning Resource Descriptions from Dialects of Languages glean verb [ trans. ] extract (information) from various sources: the information is gleaned from press clippings. • collect gradually and bit by bit:  objects gleaned from local markets. • historical gather (leftover grain or other produce) after a harvest:    [as n. ] (gleaning) the conditions of farm workers in the ‘30s made gleaning essential. Dr. Sabin Buraga http://www.purl.org/net/busaco
  16. 16. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> grddl Permite asocierea de transformari din formate structurate  (e.g., microformate, RDFa, XML) in declaratii RDF, fara pierderea semanticii (meaning) www.w3.org/TR/grddl/ www.w3.org/TR/grddl­primer/ Dr. Sabin Buraga http://www.purl.org/net/busaco
  17. 17. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> grddl Exista o multitudine de documente recurgind la anumite  dialecte XML – e.g., ODF, RSS/Atom, XHTML etc. –, incapsulind informatii care ar putea fi redate in RDF  se doreste o asociere faithful – se pastreaza intelesul se va specifica o transformare GRDDL  uzual, se foloseste XSLT Dr. Sabin Buraga http://www.purl.org/net/busaco
  18. 18. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> grddl Berners‐Lee, 2007: www.w3.org/2007/Talks/1211-whit-tbl/ Dr. Sabin Buraga http://www.purl.org/net/busaco
  19. 19. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> grddl: exemplu Un document XHTML ce include microformatul hCard: <html xmlns=http://www.w3.org/1999/xhtml> <head profile=http://www.w3.org/2003/g/data-view> <link rel=transformation href=mHTML2RDF.xsl /> <title>...</title></head> Transformare <body> GRDDL <div class=vcard> <p class=fn n><span class=given-name>Sabin</span> <span class=family-name>Buraga</span></p> </div> ... </body> </html> Dr. Sabin Buraga http://www.purl.org/net/busaco
  20. 20. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> grddl: exemplu In urma transformarii XSLT, ar putea rezulta: <rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:v=http://www.w3.org/2006/vcard/ns#> <rdf:Description rdf:nodeID=EsAVHkUx6> <rdf:type rdf:resource=http://www.w3.org/2006/vcard/ns#VCard/> <v:fn>Sabin Buraga</v:fn> </rdf:Description> <rdf:Description rdf:nodeID=EsAVHkUx8> <rdf:type rdf:resource=http://www.w3.org/2006/vcard/ns#Name/> <v:given-name>Sabin</v:given-name> <v:family-name>Buraga</v:family-name> </rdf:Description> </rdf:RDF> Dr. Sabin Buraga http://www.purl.org/net/busaco
  21. 21. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> necesitati Un sistem de stocare/interogare a triplelor RDF Dr. Sabin Buraga http://www.purl.org/net/busaco
  22. 22. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sisteme de stocare rdf Datele RDF sunt memorate in cadrul unui RDF store aspecte de interes: performanta capacitatea de stocare facilitatile privind interogarea API‐urile disponibile Dr. Sabin Buraga http://www.purl.org/net/busaco
  23. 23. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sisteme de stocare rdf Se ofera posibilitatea fuzionarii (merging) a seturilor de date RDF date 2 seturi de triple RDF, in urma fuzionarii  va rezulta un set de triple RDF incluzind toate triplele din  ambele seturi de intrare in care resursele avind acelasi URI  sunt considerate echivalente Dr. Sabin Buraga http://www.purl.org/net/busaco
  24. 24. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sisteme de stocare rdf Intern, un RDF store poate stoca triplele intr‐o varietate de formate: baze de date relationale structuri de date speciale asigurarea interoperabilitatii este facilitata de formatele  de serializare standardizate – precum RDF/XML Dr. Sabin Buraga http://www.purl.org/net/busaco
  25. 25. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sisteme de stocare rdf Exemple: BOCA (Java) Brahms (C/C++) D2R Server (Java) Joseki (Java) Kowari & Mulgara (Java) Oracle Spatial 10g (C/C++) Oyster (Java) RDFStore (C, Perl) Sesame (Java) Dr. Sabin Buraga http://www.purl.org/net/busaco
  26. 26. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> necesitati Un limbaj de interogare a seturilor de triple RDF Dr. Sabin Buraga http://www.purl.org/net/busaco
  27. 27. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql SPARQL Protocol and RDF Query Language limbaj descriptiv standardizat pentru realizarea de interogări pe baza potrivirilor de şabloane referitoare la triple RDF inspirat din RDQL – oferit de Jena, RAP, Redland etc. Dr. Sabin Buraga http://www.purl.org/net/busaco
  28. 28. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql Ofera suport pentru manipularea constructiilor RDF Pune la dispozitie operatii asupra grafurilor RDF Independent de platforma software utilizata Limbaj de interogare + protocol de acces la triple RDF Dr. Sabin Buraga http://www.purl.org/net/busaco
  29. 29. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql Precursori: limbaje inspirate de SQL: RDQL, SeRQL, RQL,... limbaje inspirate de XPath: Versa, RDFPath limbaje bazate pe reguli: N3QL, Triple, DQL, OWL‐QL,… suportul de interogare oferit de XML: XSLT, XPath, XQuery Dr. Sabin Buraga http://www.purl.org/net/busaco
  30. 30. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: xml vs. rdf (Beckett, 2006) Concept XML RDF Model document/arbore /infoset set de triple = graf RDF triple, URI‐uri, noduri Atomi elemente, atribute, text blanc, literali (text) Nume de elemente/atribute URI‐uri Nume calificate (qnames) Identificatori identificatori (ID‐uri) (IRI‐uri) expresii XPath Structura DTD‐uri, scheme XML,  Scheme RDF  (schema) RELAX NG,... (RDF Schema) Dr. Sabin Buraga http://www.purl.org/net/busaco
  31. 31. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Ofera acces – via interogari – la datele RDF doar pentru consultare (read­only) modelul de interogare e fundamentat de sabloane de grafuri RDF – graph patterns constantele dintr‐un graf RDF sunt substituite de variabile nu se bazeaza pe cai (paths) sau reguli (rules) Dr. Sabin Buraga http://www.purl.org/net/busaco
  32. 32. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Recomandare a Consortiului Web www.w3.org/TR/rdf­sparql­query/ Dr. Sabin Buraga http://www.purl.org/net/busaco
  33. 33. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Termeni RDF (RDF‐T):  reuniunea multimilor IRI, noduri blanc, literali RDF Variabile de interogare (V):  simboluri prefixate de “?” Sabloane (triple patterns): membru al multimii (RDF‐T ∪ V) × (IRI ∪ V) × (RDF‐T ∪ V)  Sabloane de tip graf: multime de sabloane Dr. Sabin Buraga http://www.purl.org/net/busaco
  34. 34. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Conventii sintactice bazate pe Turtle/N3 Triplele RDF sunt generalizate ca fiind tablouri de termeni RDF termen RDF = IRI | nod blanc | literal pattern de triple = tablou de termeni RDF sau nume de variabile (termeni liberi) Dr. Sabin Buraga http://www.purl.org/net/busaco
  35. 35. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare URI – sau, mai general, IRI – delimitati de “<” si “>” <http://www.info.uaic.ro/> se poate folosi constructia @prefix pentru a specifica spatii de nume ale vocabularelor utilizate nodurile blanc se specifica prin _:nume sau delimitate de “[” si “]” daca se folosesc o singura data Dr. Sabin Buraga http://www.purl.org/net/busaco
  36. 36. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Literali RDF (siruri de caractere cu atribute optionale) Web Web@ro <!-- se indica limba --> Web^^xsd:string <!-- se specifica tipul de date --> true^^xsd:boolean Dr. Sabin Buraga http://www.purl.org/net/busaco
  37. 37. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Abrevieri referitoare la triple :s :p :o1 , :s :p :o1 . :o2 . echivalent cu  :s :p :o2 . :s :p1 :o1 , :s :p1 :o1 . :o2 . echivalent cu  :p2 :s :p2 :o2 . Dr. Sabin Buraga http://www.purl.org/net/busaco
  38. 38. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Abrevieri privitoare la nodurile blanc :s :p [ :p' :o ] echivalent cu :s :p _:x . _:x :p' :o . Dr. Sabin Buraga http://www.purl.org/net/busaco
  39. 39. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Un şablon (pattern) permite specificarea de variabile indicând informații ce vor fi returnate  în urma realizării interogării ?subiect ?predicat ?obiect . Dr. Sabin Buraga http://www.purl.org/net/busaco
  40. 40. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Exemplu lista persoanelor inter‐conectate via predicatul (proprietatea) foaf:knows: ?persoana foaf:knows ?alta_persoana . Dr. Sabin Buraga http://www.purl.org/net/busaco
  41. 41. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Sabloanele pot fi combinate pentru a forma  şabloane mai complexe şabloane de tip graf (graph patterns) componente ale unei interogari SPARQL Dr. Sabin Buraga http://www.purl.org/net/busaco
  42. 42. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare SELECT ?contrib WHERE { <http://en.wikipedia.org/> <http://purl.org/dc/elements/1.1/contributor> ?contrib . } Selectarea celor ce au contribuit la  o resursa { … } desemneaza un graph pattern Dr. Sabin Buraga http://www.purl.org/net/busaco
  43. 43. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Rezultatul interogarii poate fi: un tabel de valori corespunzatoare variabilelor utilizate,  rezultat precizat prin SELECT o valoare booleana intoarsa de constructia ASK un graf RDF creat via CONSTRUCT sau DESCRIBE Dr. Sabin Buraga http://www.purl.org/net/busaco
  44. 44. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare SELECT: rezultatul interogarii reprezinta un tabel secventa de rinduri compuse din valorile variabilelor (variable bindings) oferirea de valori distincte via DISTINCT ordonarea rezultatelor prin ORDER BY returnarea de sub‐secvente cu LIMIT si OFFSET precizarea constructiilor optionale prin OPTIONAL Dr. Sabin Buraga http://www.purl.org/net/busaco
  45. 45. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Informatiile interogate pot fi filtrate via clauza FILTER expresiile de filtrare includ: variabile operatori aritmetici/logici functii (predefinite sau specificate de utilizator) tipuri de date definite de XML Schema Dr. Sabin Buraga http://www.purl.org/net/busaco
  46. 46. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare FILTER (?anul = 2) FILTER (?dataComanda < 2008-12-31T22:00:00Z^^xsd:date) FILTER regex (?titluCarte, ^Semantic) Dr. Sabin Buraga http://www.purl.org/net/busaco
  47. 47. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Interogare: ce aplicatii utilizeaza Sabin? s:Sabin s:utilizeaza ?aplicatie . Rezultatul interogarii: ?aplicatie = soft:Firefox ?aplicatie = soft:iTunes ?aplicatie = soft:ZynAddSubFX … Dr. Sabin Buraga http://www.purl.org/net/busaco
  48. 48. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX s: <http://www.infoiasi.ro/SW#> SELECT ?nume ?adresa ?ani WHERE { Informații ?pers foaf:name ?nume . despre  ?pers s:ani ?ani . primele 10  FILTER (?ani < 33) . persoane cu OPTIONAL { ?pers foaf:mbox ?adresa . } vârsta < 33 } ORDER BY ?ani DESC (?nume) LIMIT 10 Dr. Sabin Buraga http://www.purl.org/net/busaco
  49. 49. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Graful RDF de intrare poate fi specificat via URI FROM <http://planetrdf.com/bloggers.rdf> Dr. Sabin Buraga http://www.purl.org/net/busaco
  50. 50. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Nodurile blanc intr‐o interogare joaca rol de  variabile anonime Dr. Sabin Buraga http://www.purl.org/net/busaco
  51. 51. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Crearea unui graf RDF se poate realiza prin CONSTRUCT CONSTRUCT (?s ?p ?o) WHERE { Determinarea ?prop rdf:subject ?s . tuturor declaratiilor ?prop rdf:predicate ?p . reificate exprimate de Wikipedia ?prop rdf:object ?o . web:Wikipedia s:afirma ?prop . } Dr. Sabin Buraga http://www.purl.org/net/busaco
  52. 52. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: limbaj de interogare Obtinerea de sabloane de graf alternative se face via clauza UNION Dr. Sabin Buraga http://www.purl.org/net/busaco
  53. 53. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: protocol Pune la dispozitie mecanismul de realizare de interogari SPARQL prin invocarea de servicii aflate la distanta (SPARQL end­points) serviciile SPARQL pot fi descrise si invocate via  tehnologiile serviciilor Web clasice (SOAP, WSDL, REST,…) exemplu: http://dbpedia.org/sparql/ Dr. Sabin Buraga http://www.purl.org/net/busaco
  54. 54. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: protocol Recomandare a Consortiului Web www.w3.org/TR/rdf­sparql­protocol/ Dr. Sabin Buraga http://www.purl.org/net/busaco
  55. 55. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: protocol Exemplu de invocare a unei interogari SPARQL: GET /sparql/?query=interogare&graph-uri= http://www.retea-sociala.info/document-foaf.rdf HTTP/1.1 Host: www.undeva.org User-agent: sparql-client/0.1 Accept: text/turtle, application/rdf+xml Dr. Sabin Buraga http://www.purl.org/net/busaco
  56. 56. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: protocol Un posibil raspuns din partea serviciului: HTTP/1.1 200 OK Date: Mon, 04 Nov 2008 14:33:00 GMT Server: Apache/1.3.29 (Unix) Connection: close Content-Type: text/turtle @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix foaf: <http://xmlns.com/foaf/0.1/>. … Dr. Sabin Buraga http://www.purl.org/net/busaco
  57. 57. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: protocol Maniera de serializare XML a rezultatelor interogarilor SPARQL este standardizata SPARQL Query Results XML Format www.w3.org/TR/rdf­sparql­XMLres/ Dr. Sabin Buraga http://www.purl.org/net/busaco
  58. 58. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: protocol – mash‐ups Studiu de caz – adaptare dupa (Todd Williams, 2007): dorim sa obtinem imagini care contin obiective de interes aflate in vecinatatea unui punct (locatie geografica) filtrarea se va putea realiza pe alte calculatoare calculul distantei dintre doua puncte geografice poate fi realizat de servere multiple via implementari JavaScript  specificate prin RDF: numele functiei + URI‐ul sursei Dr. Sabin Buraga http://www.purl.org/net/busaco
  59. 59. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: protocol – mash‐ups PREFIX f: <http://undeva.org/functii.rdf#> SELECT ?locatie ?imagine Care‐s imaginile WHERE { localizate in  ?imagine dcterms:spatial [ proximitatea a geo:Point ; mea? foaf:name ?locatie ; geo:lat ?lat ; geo:long ?long ]. FILTER ( f:distanta ( ?lat, ?long, 38.9, -76.9 ) < 15 ) . } Poate fi calculata pe masini diferite Dr. Sabin Buraga http://www.purl.org/net/busaco
  60. 60. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: protocol – mash‐ups Interogare SPARQL trimisa via HTTP Serviciu Client SPARQL (aplicatie Web) (end­point) Dr. Sabin Buraga http://www.purl.org/net/busaco
  61. 61. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: protocol – mash‐ups GET functii.rdf Server  Web Serviciu Client SPARQL (aplicatie Web) (end­ point) Dr. Sabin Buraga http://www.purl.org/net/busaco
  62. 62. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: protocol – mash‐ups Server  Web Serviciu Client SPARQL (aplicatie Web) (end­ raspuns RDF point) :distanta a f:Function; f:sursa <http://sit.ro/dist.js>; f:functie calculDistanta . Dr. Sabin Buraga http://www.purl.org/net/busaco
  63. 63. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: protocol – mash‐ups Server  Web Serviciu Client SPARQL (aplicatie Web) (end­ GET dist.js point) Server  Web Dr. Sabin Buraga http://www.purl.org/net/busaco
  64. 64. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: protocol – mash‐ups Server  Web Serviciu Client SPARQL (aplicatie Web) (end­ point) Server  Web function calculDistanta (lat1, lon1, lat2, lon2) { ... } Dr. Sabin Buraga http://www.purl.org/net/busaco
  65. 65. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: protocol – mash‐ups Server  Web Serviciu Client SPARQL (aplicatie Web) (end­ point) Server  raspuns Web ?locatie ?imagine Universitate http://flickr.com/20/fdsdw3.jpg Teatru http://places.org/img/t.jpg Dr. Sabin Buraga http://www.purl.org/net/busaco
  66. 66. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: instrumente AllegroGraph (Java) ARC (PHP) OpenRDF Sesame (Java) Rasqual (C) RDF::Query (Perl) SPARQL library (Java) Virtuoso (C/C++) Dr. Sabin Buraga http://www.purl.org/net/busaco
  67. 67. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql: instrumente Dr. Sabin Buraga http://www.purl.org/net/busaco
  68. 68. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> sparql+ Propunere de extindere a SPARQL pentru a suporta operatii de actualizare a datelor RDF http://esw.w3.org/topic/SPARQL/Extensions/Update Dr. Sabin Buraga http://www.purl.org/net/busaco
  69. 69. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf Tipuri majore de aplicatii RDF integrare de resurse: bookmark‐uri, calendare,  informatii cartografice (map integration) adnotare avansata a resurselor management “inteligent” al continutului Dr. Sabin Buraga http://www.purl.org/net/busaco
  70. 70. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf Arhitectura aplicatiilor bazate pe RDF (Allemang & Hendler, 2008) Dr. Sabin Buraga http://www.purl.org/net/busaco
  71. 71. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Managementul “inteligent” al codului‐sursa Baetle: Bug And Enhancement Tracking LanguagE (Sun) ofera o vedere coerenta a dependentelor dintre diverse  proiecte software, permitand filtrarea bug‐urilor modelare prin RDF, DOAP, SIOC etc. interogari via SPARQL vezi si blog‐ul Babel Fish: http://blogs.sun.com/bblfish Dr. Sabin Buraga http://www.purl.org/net/busaco
  72. 72. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Managementul “inteligent” al codului‐sursa Baetle: Bug And Enhancement Tracking LanguagE (Sun) PREFIX : <http://baetle.googlecode.com/svn/ns/#> SELECT * WHERE { ?jar :contains ?c . FILTER REGEX ( str (?c), 'OffsetIterator.class$') } LIMIT 20 Dr. Sabin Buraga http://www.purl.org/net/busaco
  73. 73. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Managementul informatiilor medicale Cleveland Clinic, 2007 constituirea unui depozit de cunostinte privind pacientii >54 milioane de asertiuni RDF interogari SPARQL integrarea unui sistem expert Dr. Sabin Buraga http://www.purl.org/net/busaco
  74. 74. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Dr. Sabin Buraga http://www.purl.org/net/busaco
  75. 75. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Managementul informatiilor personale in KDE 4.0 proiectul NEPOMUK Semantic desktop (2008) servicii de cautare & adnotare a resurselor la nivel de desktop pe baza instrumentului Soprano meta‐datele asociate fisierelor sunt stocate in RDF www.w3.org/2001/sw/sweo/public/UseCases/Nepomuk/Nepomuk.pdf Dr. Sabin Buraga http://www.purl.org/net/busaco
  76. 76. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Componente logice ale unui semantic desktop: sisteme de stocare: hard­disk‐uri, stick‐uri USB etc. un robot (crawler) – extrage meta‐date din fiecare fisier un depozit RDF (triple store) un serviciu de interogare SPARQL (end­point) aplicatii ce solicita (cauta, agrega,…) date,  invocind serviciul SPARQL a se vizita si www.semanticdesktop.org Dr. Sabin Buraga http://www.purl.org/net/busaco
  77. 77. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Componente logice ale unui semantic desktop: N. Spivak et al., “Developing Web 3.0”, JavaOne, 2007 Dr. Sabin Buraga http://www.purl.org/net/busaco
  78. 78. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Agregarea informatiilor privind angajatii NASA sistemul POPS de management inteligent al angajatilor:  date personale, competente, implicari in proiecte etc. interogari vizuale ale datelor RDF prin jSpace arhitectura bazata pe servicii Web in stil REST www.w3.org/2001/sw/sweo/public/UseCases/Nasa/Nasa.pdf Dr. Sabin Buraga http://www.purl.org/net/busaco
  79. 79. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Dr. Sabin Buraga http://www.purl.org/net/busaco
  80. 80. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Managementul resurselor bibliotecilor digitale JeromeDL jeromedl.org BRICKS www.brickscommunity.org Detalii in Kruk et al., “Tutorial – Semantic Digital Libraries”,  WWW Conference, 2007 Dr. Sabin Buraga http://www.purl.org/net/busaco
  81. 81. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Solutii colaborative de management al resurselor multimedia in medii de productie Interactive Media Manager (Microsoft) recurge la un cadru de lucru bazat pe meta‐date modelate in RDF si interogate prin SPARQL tipurile de resurse sunt specificate via ontologii (OWL) se ofera si un SDK specializat disponibil pentru .NET Dr. Sabin Buraga http://www.purl.org/net/busaco
  82. 82. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Management colaborativ al continutului modelat semantic (semantic wikis) Semantic MediaWiki extensie a sistemului MediaWiki: permite adnotarea semantica a continutului unui wiki facilitati: specificarea proprietatilor, realizarea de interogari, exportarea datelor in RDF etc. Dr. Sabin Buraga http://www.purl.org/net/busaco
  83. 83. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Semantic MediaWiki marcaje semantice: Title: '''[[Has Title::Mythical Man-Month]]''' ISBN: [[Has ISBN::0201835959]] “triple” RDF: (Man-Month, Has Title, Mythical Man-Month) (Man-Month, Has ISBN, 0201835959) Dr. Sabin Buraga http://www.purl.org/net/busaco
  84. 84. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Cautarea “avansata” a resurselor Web Search Monkey (Yahoo!) ofera maniere de rafinare a rezultatelor cautarilor pe Web se bazeaza pe meta‐date scufundate in documentele HTML  (microformate, RDFa) se poate recurge la o extragere “manuala” a datelor de interes dintr‐o pagina via XSLT Dr. Sabin Buraga http://www.purl.org/net/busaco
  85. 85. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Search Monkey (Yahoo!) utilizatorul (consumatorul) trebuie “sa puna la treaba” o “maimuta” de cautare via  http://developer.search.yahoo.com/ pentru vocabulare si microformate consacrate, pot fi realizate automat extractii de date – eventual, filtrate maniera de vizualizare poate fi ajustata via PHP Dr. Sabin Buraga http://www.purl.org/net/busaco
  86. 86. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Dr. Sabin Buraga http://www.purl.org/net/busaco
  87. 87. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> aplicatii rdf: exemplificari Alte studii de caz pe situl Consortiului Web: www.w3.org/2001/sw/sweo/public/UseCases/ A se consulta si David Provost, “On The Cusp: A Global Review of the Semantic Web Industry”, septembrie 2008 Dr. Sabin Buraga http://www.purl.org/net/busaco
  88. 88. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> concluzii Avind la dispozitie date modelate in RDF, se ofera premisele cautarii, descoperirii, achizitiei,  colectarii, analizei si procesarii informatiilor disponibile pe Web management avansat al cunostintelor Dr. Sabin Buraga http://www.purl.org/net/busaco
  89. 89. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Rezumat Obtinerea, transformarea si interogarea datelor modelate in RDF Dr. Sabin Buraga http://www.purl.org/net/busaco
  90. 90. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ? Dr. Sabin Buraga http://www.purl.org/net/busaco

×