web04 semantic web: managementul datelor rdf
DESCRIPTION
Aspecte privind managementul datelor RDF si a aplicatiilor folosind RDF, inclusiv instrumentele software necesare, sisteme de stocare, maniere de interogare prin SPARQL etc.TRANSCRIPT
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Web semantic
Dr. SabinCorneliu BuragaFacultatea de Informatica
Universitatea “A.I.Cuza” – Iasi, Romania
http://www.infoiasi.ro/~busaco/
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Managementul datelor RDF
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
“Trebuie sa adunam fapte pentru a avea idei.”
GeorgesLouis de Buffon
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
intrebari
Ce instrumente de procesarea declaratiilor RDF putem folosi?
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Conform (Bailer &
Hausenblas, 2007)
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
necesitati
Serializator (serializer) RDF
exprimarea modelului intern RDFin diverse formate standard: RDF/XML, N3,...
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
necesitati
Convertor RDF
preluarea datelor din alte modelesi transformarea lor in RDF
extragerea directa din documentele HTMLvia scrapers/harvesters
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
instrumente
Initiativa Triplify:
triplify.org
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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 pingingpingthesemanticweb.com
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
instrumente
Motoare de cautare – exemple:
SindiceSwoogle
SWSE – Semantic Web Search EngineWatson
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
necesitati
O modalitate standardizata de “convertire”a constructiilor semantice incapsulatein documentele Web in triple RDF
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
grddl
GRDDL – Gleaning Resource Descriptionsfrom Dialects of Languages
gleanverb [ 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
Semantic Web <?xml version=“1.0” ?><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/grddlprimer/
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
grddl
Berners‐Lee, 2007: www.w3.org/2007/Talks/1211-whit-tbl/
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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><body>
<div class="vcard"> <p class="fn n"><span class="given-name">Sabin</span>
<span class="family-name">Buraga</span></p></div>...
</body></html>
TransformareGRDDL
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
necesitati
Un sistem de stocare/interogare a triplelor RDF
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sisteme de stocare rdf
Datele RDF sunt memorate in cadrul unui RDF store
aspecte de interes:performanta
capacitatea de stocarefacilitatile privind interogarea
API‐urile disponibile
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sisteme de stocare rdf
Intern, un RDF store poate stoca tripleleintr‐o varietate de formate:
baze de date relationalestructuri de date speciale
asigurarea interoperabilitatii este facilitata de formatele de serializare standardizate – precum RDF/XML
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
necesitati
Un limbaj de interogare a seturilor de triple RDF
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql
SPARQL Protocol and RDF Query Language
limbaj descriptiv standardizatpentru 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
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: xml vs. rdf (Beckett, 2006)
Concept XML RDF
Model document/arbore /infoset set de triple = graf RDF
Atomi elemente, atribute, text triple, URI‐uri, noduriblanc, literali (text)
Identificatori
Nume de elemente/atributeNume calificate (qnames)identificatori (ID‐uri)
expresii XPath
URI‐uri(IRI‐uri)
Structura(schema)
DTD‐uri, scheme XML, RELAX NG,...
Scheme RDF (RDF Schema)
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: limbaj de interogare
Ofera acces – via interogari – la datele RDFdoar pentru consultare (readonly)
modelul de interogare e fundamentat desabloane 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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: limbaj de interogare
Recomandare a Consortiului Web
www.w3.org/TR/rdfsparqlquery/
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: limbaj de interogare
Conventii sintactice bazate pe Turtle/N3
Triplele RDF sunt generalizateca fiind tablouri de termeni RDF
termen RDF = IRI | nod blanc | literal
pattern de triple = tablou de termeni RDFsau nume de variabile (termeni liberi)
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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 specificaspatii de nume ale vocabularelor utilizate
nodurile blanc se specifica prin _:numesau delimitate de “[” si “]” daca se folosesc o singura data
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: limbaj de interogare
Abrevierireferitoare la triple
:s :p :o1 , :s :p :o1 .:o2 . echivalent cu :s :p :o2 .
:s :p1 :o1 , :s :p1 :o1 .:p2 :o2 . echivalent cu :s :p2 :o2 .
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: limbaj de interogare
Abrevieriprivitoare la nodurile blanc
:s :p [ :p' :o ] echivalent cu :s :p _:x . _:x :p' :o .
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: limbaj de interogare
Un şablon (pattern) permite specificareade 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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: limbaj de interogare
Exemplu
lista persoanelor inter‐conectatevia predicatul (proprietatea) foaf:knows:
?persoana foaf:knows ?alta_persoana .
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: limbaj de interogare
SELECT ?contribWHERE {<http://en.wikipedia.org/> <http://purl.org/dc/elements/1.1/contributor>?contrib .
}
{ … } desemneaza un graph pattern
Selectarea celorce au contribuit la
o resursa
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: limbaj de interogare
SELECT: rezultatul interogarii reprezinta un tabelsecventa de rinduri compuse
din valorile variabilelor (variable bindings)
oferirea de valori distincte via DISTINCTordonarea rezultatelor prin ORDER BY
returnarea de sub‐secvente cu LIMIT si OFFSETprecizarea constructiilor optionale prin OPTIONAL
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: limbaj de interogare
Informatiile interogate pot fi filtratevia clauza FILTER
expresiile de filtrare includ:variabile
operatori aritmetici/logicifunctii (predefinite sau specificate de utilizator)
tipuri de date definite de XML Schema
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: limbaj de interogare
PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX s: <http://www.infoiasi.ro/SW#>SELECT ?nume ?adresa ?aniWHERE {?pers foaf:name ?nume .?pers s:ani ?ani . FILTER (?ani < 33) .OPTIONAL { ?pers foaf:mbox ?adresa . }
}ORDER BY ?ani DESC (?nume)LIMIT 10
Informațiidespre
primele 10 persoane cuvârsta < 33
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: limbaj de interogare
Crearea unui graf RDF se poate realiza prin CONSTRUCT
CONSTRUCT (?s ?p ?o)WHERE {
?prop rdf:subject ?s .?prop rdf:predicate ?p .?prop rdf:object ?o .web:Wikipedia s:afirma ?prop .
}
Determinareatuturor declaratiilorreificate exprimatede Wikipedia
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: limbaj de interogare
Obtinerea de sabloane de graf alternativese face via clauza UNION
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: protocol
Pune la dispozitie mecanismul de realizarede interogari SPARQL prin invocarea de servicii
aflate la distanta (SPARQL endpoints)
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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: protocol
Recomandare a Consortiului Web
www.w3.org/TR/rdfsparqlprotocol/
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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.orgUser-agent: sparql-client/0.1 Accept: text/turtle, application/rdf+xml
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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: closeContent-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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: protocol
Maniera de serializare XML a rezultatelorinterogarilor SPARQL este standardizata
SPARQL Query Results XML Format
www.w3.org/TR/rdfsparqlXMLres/
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: protocol –mash‐ups
Studiu de caz – adaptare dupa (Todd Williams, 2007):
dorim sa obtinem imagini care contin obiective de interesaflate in vecinatatea unui punct (locatie geografica)
filtrarea se va putea realiza pe alte calculatoare
calculul distantei dintre doua puncte geografice poate firealizat de servere multiple via implementari JavaScript specificate prin RDF: numele functiei + URI‐ul sursei
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: protocol –mash‐ups
PREFIX f: <http://undeva.org/functii.rdf#>SELECT ?locatie ?imagineWHERE {
?imagine dcterms:spatial [a geo:Point ;foaf:name ?locatie ;geo:lat ?lat ; geo:long ?long
] .FILTER ( f:distanta ( ?lat, ?long, 38.9, -76.9 ) < 15 ) .
}
Care‐s imaginilelocalizate in proximitatea
mea?
Poate fi calculata pe masini diferite
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: protocol –mash‐ups
Client(aplicatie Web)
ServiciuSPARQL(endpoint)
Interogare SPARQLtrimisa via HTTP
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: protocol –mash‐ups
Client(aplicatieWeb)
ServiciuSPARQL(endpoint)
GET functii.rdf Server Web
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: protocol –mash‐ups
Client(aplicatieWeb)
ServiciuSPARQL(endpoint)
Server Web
:distanta a f:Function;f:sursa <http://sit.ro/dist.js>;f:functie "calculDistanta" .
raspuns RDF
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: protocol –mash‐ups
Client(aplicatieWeb)
ServiciuSPARQL(endpoint)
Server Web
GET dist.js
Server Web
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: protocol –mash‐ups
Client(aplicatieWeb)
ServiciuSPARQL(endpoint)
Server Web
function calculDistanta(lat1, lon1, lat2, lon2) { ... }
Server Web
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: protocol –mash‐ups
Client(aplicatieWeb)
ServiciuSPARQL(endpoint)
Server Web
Server Web
?locatie ?imagine
Universitate http://flickr.com/20/fdsdw3.jpgTeatru http://places.org/img/t.jpg
raspuns
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql: instrumente
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
sparql+
Propunere de extindere a SPARQLpentru 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
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
aplicatii rdf
Arhitectura aplicatiilor bazate pe RDF(Allemang & Hendler, 2008)
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
aplicatii rdf: exemplificari
Managementul “inteligent” al codului‐sursaBaetle: 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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
aplicatii rdf: exemplificari
Managementul “inteligent” al codului‐sursaBaetle: 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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
aplicatii rdf: exemplificari
Managementul informatiilor medicaleCleveland Clinic, 2007
constituirea unui depozit de cunostinte privind pacientii>54 milioane de asertiuni RDF
interogari SPARQLintegrarea unui sistem expert
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
aplicatii rdf: exemplificari
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
aplicatii rdf: exemplificari
Managementul informatiilor personale in KDE 4.0proiectul NEPOMUK Semantic desktop (2008)
servicii de cautare & adnotare a resurselorla 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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
aplicatii rdf: exemplificari
Componente logice ale unui semantic desktop:sisteme de stocare: harddisk‐uri, stick‐uri USB etc.un robot (crawler) – extrage meta‐date din fiecare fisierun depozit RDF (triple store)un serviciu de interogare SPARQL (endpoint)aplicatii ce solicita (cauta, agrega,…) date,
invocind serviciul SPARQL
a se vizita siwww.semanticdesktop.org
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
aplicatii rdf: exemplificari
Agregarea informatiilor privind angajatii NASAsistemul 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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
aplicatii rdf: exemplificari
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
aplicatii rdf: exemplificari
Managementul resurselor bibliotecilor digitale
JeromeDLjeromedl.org
BRICKSwww.brickscommunity.org
Detalii in Kruk et al., “Tutorial – Semantic Digital Libraries”, WWW Conference, 2007
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
aplicatii rdf: exemplificari
Solutii colaborative de management al resurselormultimedia in medii de productieInteractive Media Manager (Microsoft)
recurge la un cadru de lucru bazat pe meta‐datemodelate 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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
aplicatii rdf: exemplificari
Management colaborativ al continutuluimodelat 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
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
aplicatii rdf: exemplificari
Cautarea “avansata” a resurselor WebSearch 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
Semantic Web <?xml version=“1.0” ?><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
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
aplicatii rdf: exemplificari
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><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 GlobalReview of the Semantic Web Industry”, septembrie 2008
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
concluzii
Avind la dispozitie date modelate in RDF,se ofera premisele cautarii, descoperirii, achizitiei,
colectarii, analizei si procesariiinformatiilor disponibile pe Web
management avansat al cunostintelor
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Rezumat
Obtinerea, transformarea si interogareadatelor modelate in RDF
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
?