05.06.2013 Views

Slides

Slides

Slides

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Resource Description Framework<br />

(RDF)<br />

In pratica, però, datiRDF sonocollezionatiin database<br />

relazionalio in altrerappresentazioninative, le<br />

cosiddette“triple stores”, o con “quad stores” se il<br />

contesto(ovveroilgrafodi riferimento) èanch’esso<br />

memorizzatocon triple RDF.<br />

Nel1999 èstatopubblicatocome raccomandazione<br />

del W3C la prima specifica della sintassidel data<br />

model RDF<br />

RDF: Statement reificationand context<br />

La conoscenzamodellizzataattraverso unacollezionedi statement RDF può essere<br />

reificata. In talcaso a ciascuno statement (ovvero a ciascunatripla subjectpredicate-object)<br />

vieneassegnatoun proprio unico URI e trattato come una<br />

risorsaessastessaneicui confrontièpossibilefare uno statement addizionale;<br />

esempio "Jane says that John is the author of document X".<br />

In un database di triple RDF reificato, ciascuno statement originario, essendo esso<br />

stessounarisorsa, in genereha almeno 3 statement addizionaliscrittiper lui: uno<br />

per asserirecheilsuo soggetto èunaqualcherisorsa, unoper asserirecheilsuo<br />

predicato èunaqualcherisorsa, ed unoper asserirecheilsuo oggetto èuna<br />

qualcherisorsao literal.<br />

---------<br />

Le risorse non corrispondono soltanto a cose che possono essere intuitivamente considerate<br />

come oggetti fisici. Molto spesso vengono utilizzate per rappresentare concetti astratti,<br />

eventi, azioni e così via. Il processo che porta a concettualizzare questi aspetti della realtà<br />

come entità èdetto reificazione.<br />

RDF: Queryand inferencelanguages<br />

Il query language predominanteper RDF graphs è<br />

SPARQL, un linguaggioSQL -like, chedal15<br />

gennaio2008 èuna raccomandazionedel W3C<br />

(acronimoricorsivo: SPARQL Protocol and RDF<br />

Query Language. )<br />

Le query SPARQL consistonodi triple patterns,<br />

conjunctions, disjunctions and optional patterns.<br />

RDF: Resourceidentification<br />

• Il soggetto di uno statement RDF èunarisorsa, possibilmente<br />

identificata da un Uniform Resource Identifier (URI) o meno<br />

(risorsaanonima).<br />

• Il predicato èanch’esso una risorsa che rappresenta una relazione.<br />

• L’oggetto èuna risorsa od un valore (Unicode string literal).<br />

In applicazionidel Semantic Web le risorse sono rappresentate da<br />

URI che denotanodatirealiaccessibilisulWeb. Ma RDF non è<br />

limitata alla descrizione di risorse Internet-based.<br />

Perciò ènecessario che produttoried utilizzatoridi statement RDF<br />

concordino sulla semantica degli identificatoridelle risorse.<br />

RDF: Statement reificationand context<br />

Alcuneimplementazionidel modello RDF riconoscono chetalvoltaèutile<br />

raggruppare statements in accordo a criteridi tipo diverso, detti situations,<br />

contexts, or scopes.<br />

Per esempio unostatement può essereassociato ad un contesto, identificato daun<br />

URI, in mododaasserireun "is true in" unaspecificarelazione.<br />

Analogamente ètalvoltaconvenienteraggruppareglistatement in funzionedella<br />

loro sorgente, chepuò essereidentificatadaun URI, ovvero come l’URIdi un<br />

particolaredocumento RDF/XML. In talcaso, quando sifanno degli<br />

aggiornamenti sullerisorse, corrispondentementesipossono cambiaregli<br />

statement relativinelmodello.<br />

L’implementazionedegli scopi non richiedenecessariamentela pienareificazione<br />

neglistatement. Alcuneimplementazionipermettono cheun singolo<br />

identificatoredi scopo siaassociato con uno statement a cui non siastato<br />

assegnatoun URI. Analogamente named graphs in cui un set di triple identificato<br />

daun URI può rappresentareun contesto senzala necessitàdi reificare le triple.<br />

RDF: Queryand inferencelanguages<br />

An example of a SPARQL query to show country capitals in Africa<br />

PREFIX abc: .<br />

SELECT ?capital ?country<br />

WHERE {<br />

?x abc:cityname?capital ;<br />

abc:isCapitalOf?y.<br />

?y abc:countryname?country ;<br />

abc:isInContinentabc:Africa.<br />

}<br />

Variables are indicated by a "?" or "$" prefix. Bindings for?capital and the?country<br />

will be returned.<br />

The SPARQL query processor will search for sets of triples that match these four<br />

triple patterns, binding the variables in the query to the corresponding parts of<br />

each triple. Important to note here is the "property orientation" (class matches can<br />

be conducted solely through class-attributes / properties )

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!