mozilla

Revision 190112 of RDF in cinquanta parole o meno

  • Slug della versione: RDF_in_cinquanta_parole_o_meno
  • Titolo della versione: RDF in cinquanta parole o meno
  • ID versione: 190112
  • Data di creazione
  • Autore: Federico
  • Versione corrente?
  • Commento

Contenuto della versione

Okay, probabilmente saranno un pò più di cinquanta parole, ma i punti chiave sono abbastanza semplici (e segnati in grassetto per colo i quali vogliono andare dritti al punto). Con Resource Description Framework (framework di descrizione risorse) o "RDF", intendiamo due cose.

Primo, RDF è un modello basato su grafi per la descrizione di risorse Internet (come pagine web e messaggi email), e di come tali risorse sono correlate l'un l'altra.

Ma cosa vuol dire effettivamente? Per uno sviluppatore Mozilla, significa che il modello dati RDF (il "grafo") può essere usato come meccanismo per integrare ed organizzare risorse Internet.

Vediamo un esempio: segnalibri. Comunemente, molti browser web permettono l'organizzazione dei propri segnalibri in maniera gerarchica all'interno di cartelle (folders). Ogni segnalibro è un puntatore ad una pagina web chiamata URI (Uniform Resource Identifier).

Ma una pagina web è solo uno dei tipi di risorse Internet. Esistono tonnellate di tipi, inclusi messaggi email, articoli UseNet (o gli interi newsgroup), e risultati di ricerca del proprio motore preferito, giusto per dirne alcuni. Fondamentalmente, non c'è ragione per cui non possano essere trattati come "segnalibri" anche questi, raggruppandoli in cartelle a proprio piacimento, o creando cartelle "furbe" che, una volta aperte, generino dinamicamente il loro contenuto eseguendo ricerche da voi setssi definite.

Ed un "segnalibro" può veramente avere proprietà arbitrarie asssociate ad esso: su potrebbe voolere inventare un proprio schema di "classificazione" per un segnalibro a la Macintosh con i suoi codici colore "hot", "warm", "cool". Oppure si potrebbe voler collegare un segnalibro ad un altro, o mantenerlo in molteplici cartelle nello stesso momento.

Il grafo RDF fornisce un modello dati perfetto sul quale costruire un servizio di bookmarking "universale" come descritto sopra: il grafo può contenere puntatori a risorse arbitrarie e può raggrupparli pressoché in ogni maniera immaginabile.

Ma aspettate, c'è dell'altro...

Secondo, RDF è una sintassi di serializzazione (serialization syntax). Questa sintassi permette al modello di grafo la comunicazione tra gli "agenti".

Okay, cosa diamine significa "questo"? Fondamentalmente, significa che parti del modello dati RDF possono essere comunicate tra nodi della rete, e che il contenuto del grafo può cambiare dinamicamente mano a mano che le informazioni arrivano da un servizio remoto

Torniamo indietro all'esempio dei segnalibri. Diciamo che una delle "cartelle" segnalibro è in realtà un puntatore alla mia casella email. Quando viene aperta la cartella. voila! Tutti i messaggi ricevuti durante la notte appaiono.

Ma come avviene tutto questo? La cartella inbox in realtà è un puntatore ad una risorsa Internet che contiene un altro RDF che estende il grafo. Questa "risorsa Internet" è un URI che si riferisce ad uno script CGI (diciamo, <tt>http://www.mozilla.org/smart-mail/ge...n&folder=inbox</tt>). Lo script genera un RDF serializzato, che principalmente è un modo di formattare un grafo in XML:

<rdf:RDF
    xmlns:rdf="http://www.w3.org/TR/WD-rdf-syntax#"
    xmlns:sm="http://www.mozilla.org/smart-mail/schema#">
  <rdf:Description
    about="http://www.mozilla.org/smart-mail/ge...n&folder=inbox">
    <sm:message id="4025293">
       <sm:recipient>
         Chris Waterson "waterson@netscape.com"
       </sm:recipient>
       <sm:sender>
         Aunt Helga "helga@netcenter.net"
       </sm:sender>
       <sm:received-by>x-wing.mcom.com</sm:received-by>
       <sm:subject>Grandi novità per Yam Soup!</sm:subject>
       <sm:body>
         http://www.mozilla.org/smart-mail/ge...cgi?id=4025293
       </sm:body>
    </sm:message>
    <sm:message id="4025294">
       <sm:recipient>
         Chris Waterson "waterson@netscape.com"
       </sm:recipient>
       <sm:sender>
         Sarah Waterson "waterson.2@postbox.acs.ohio-state.edu"
       </sm:sender>
       <sm:received-by>x-wing.mcom.com</sm:received-by>
       <sm:subject>Abbiamo vinto il nostro gioco</sm:subject>
       <sm:body>
         http://www.mozilla.org/smart-mail/ge...cgi?id=4025294
       </sm:body>
    </sm:message>
  </rdf:Description>
</rdf:RDF>

Dopo aver ricevuto la mostruosità sopra mostrata, il motore RDF modella il documento nel luogo appropriato, mentre l'albero di controllo che attualmente implementa l'interfaccia ai segnalibri riceve la notifica per disegnare nuove icone per la zuppa Yam (Yam Soup) da Zia Helga.

Questo è esattamente il modo in cui funziona SmartMail.

Contatti: Chris Waterson (waterson@netscape.com)

Original Document Information

Interwiki Language Links

{{ languages( { "ko": "ko/RDF_in_Fifty_Words_or_Less", "en": "en/RDF_in_Fifty_Words_or_Less" } ) }}

Sorgente della versione

<p>
</p><p>Okay, probabilmente saranno un pò più di cinquanta parole, ma i punti chiave sono abbastanza semplici (e segnati in <b>grassetto</b> per colo i quali vogliono andare dritti al punto). Con <a href="it/RDF"><i>Resource Description Framework</i></a> (framework di descrizione risorse) o "RDF", intendiamo due cose.
</p>
<blockquote>
<b>Primo, RDF è un modello basato su grafi per la descrizione di <i>risorse</i> Internet (come pagine web e messaggi email), e di come tali risorse sono correlate l'un l'altra.</b>
</blockquote>
<p>Ma cosa vuol dire <i>effettivamente</i>? Per uno sviluppatore Mozilla, significa che il modello dati RDF (il "grafo") può essere usato come meccanismo per integrare ed organizzare risorse Internet.
</p><p>Vediamo un esempio: <i>segnalibri</i>. Comunemente, molti browser web permettono l'organizzazione dei propri segnalibri in maniera gerarchica all'interno di <i>cartelle</i> (<i>folders</i>). Ogni segnalibro è un <i>puntatore</i> ad una pagina web chiamata <b>URI</b> (<b>U</b>niform <b>R</b>esource <b>I</b>dentifier).
</p><p>Ma una pagina web è solo uno dei tipi di risorse Internet. Esistono tonnellate di tipi, inclusi messaggi email, articoli UseNet (o gli interi newsgroup), e risultati di ricerca del proprio motore preferito, giusto per dirne alcuni. Fondamentalmente, non c'è ragione per cui non possano essere trattati come "segnalibri" anche questi, raggruppandoli in cartelle a proprio piacimento, o creando cartelle "furbe" che, una volta aperte, generino dinamicamente il loro contenuto eseguendo ricerche da voi setssi definite.
</p><p>Ed un "segnalibro" può veramente avere proprietà arbitrarie asssociate ad esso: su potrebbe voolere inventare un proprio schema di "classificazione" per un segnalibro <i>a la</i> Macintosh con i suoi codici colore "hot", "warm", "cool". Oppure si potrebbe voler collegare un segnalibro ad un altro, o mantenerlo in molteplici cartelle nello stesso momento.
</p><p>Il grafo RDF fornisce un modello dati perfetto sul quale costruire un servizio di bookmarking "universale" come descritto sopra: il grafo può contenere puntatori a risorse arbitrarie e può raggrupparli pressoché in ogni maniera immaginabile.
</p><p>Ma aspettate, c'è dell'altro...
</p>
<blockquote>
<b>Secondo, RDF è una sintassi di serializzazione (serialization syntax). Questa sintassi permette al modello di grafo la comunicazione tra gli "agenti".</b>
</blockquote>
<p>Okay, cosa diamine significa "questo"? Fondamentalmente, significa che parti del modello dati RDF possono essere comunicate tra nodi della rete, e che il contenuto del grafo può cambiare dinamicamente mano a mano che le informazioni arrivano da un servizio remoto
</p><p>Torniamo indietro all'esempio dei segnalibri. Diciamo che una delle "cartelle" segnalibro è in realtà un puntatore alla mia casella email. Quando viene aperta la cartella. voila! Tutti i messaggi ricevuti durante la notte appaiono.
</p><p>Ma come avviene tutto questo? La cartella inbox in realtà è un puntatore ad una risorsa Internet che contiene un altro RDF che estende il grafo. Questa "risorsa Internet" è un URI che si riferisce ad uno script CGI (diciamo, <tt><a class=" external" href="http://www.mozilla.org/smart-mail/get-mail.cgi?user=waterson&amp;folder=inbox" rel="freelink">http://www.mozilla.org/smart-mail/ge...n&amp;folder=inbox</a></tt>). Lo script genera un <i>RDF serializzato</i>, che principalmente è un modo di formattare un grafo in <a href="it/XML">XML</a>:
</p>
<pre class="eval">&lt;rdf:RDF
    xmlns:rdf="<a class=" external" href="http://www.w3.org/TR/WD-rdf-syntax#" rel="freelink">http://www.w3.org/TR/WD-rdf-syntax#</a>"
    xmlns:sm="<a class=" external" href="http://www.mozilla.org/smart-mail/schema#" rel="freelink">http://www.mozilla.org/smart-mail/schema#</a>"&gt;
  &lt;rdf:Description
    about="<a class=" external" href="http://www.mozilla.org/smart-mail/get-mail.cgi?user=waterson&amp;folder=inbox" rel="freelink">http://www.mozilla.org/smart-mail/ge...n&amp;folder=inbox</a>"&gt;
    &lt;sm:message id="4025293"&gt;
       &lt;sm:recipient&gt;
         Chris Waterson "<a class=" link-mailto" href="mailto:waterson@netscape.com" rel="freelink">waterson@netscape.com</a>"
       &lt;/sm:recipient&gt;
       &lt;sm:sender&gt;
         Aunt Helga "<a class=" link-mailto" href="mailto:helga@netcenter.net" rel="freelink">helga@netcenter.net</a>"
       &lt;/sm:sender&gt;
       &lt;sm:received-by&gt;x-wing.mcom.com&lt;/sm:received-by&gt;
       &lt;sm:subject&gt;Grandi novità per Yam Soup!&lt;/sm:subject&gt;
       &lt;sm:body&gt;
         <a class=" external" href="http://www.mozilla.org/smart-mail/get-body.cgi?id=4025293" rel="freelink">http://www.mozilla.org/smart-mail/ge...cgi?id=4025293</a>
       &lt;/sm:body&gt;
    &lt;/sm:message&gt;
    &lt;sm:message id="4025294"&gt;
       &lt;sm:recipient&gt;
         Chris Waterson "<a class=" link-mailto" href="mailto:waterson@netscape.com" rel="freelink">waterson@netscape.com</a>"
       &lt;/sm:recipient&gt;
       &lt;sm:sender&gt;
         Sarah Waterson "<a class=" link-mailto" href="mailto:waterson.2@postbox.acs.ohio-state.edu" rel="freelink">waterson.2@postbox.acs.ohio-state.edu</a>"
       &lt;/sm:sender&gt;
       &lt;sm:received-by&gt;x-wing.mcom.com&lt;/sm:received-by&gt;
       &lt;sm:subject&gt;Abbiamo vinto il nostro gioco&lt;/sm:subject&gt;
       &lt;sm:body&gt;
         <a class=" external" href="http://www.mozilla.org/smart-mail/get-body.cgi?id=4025294" rel="freelink">http://www.mozilla.org/smart-mail/ge...cgi?id=4025294</a>
       &lt;/sm:body&gt;
    &lt;/sm:message&gt;
  &lt;/rdf:Description&gt;
&lt;/rdf:RDF&gt;
</pre>
<p>Dopo aver ricevuto la mostruosità sopra mostrata, il motore RDF modella il documento nel luogo appropriato, mentre l'albero di controllo che attualmente implementa l'interfaccia ai segnalibri riceve la notifica per disegnare nuove icone per la zuppa Yam (Yam Soup) da Zia Helga.
</p><p>Questo è <i>esattamente</i> il modo in cui funziona <a class="external" href="http://www.mozilla.org/mailnews/">SmartMail</a>.
</p><p>Contatti:
<a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a> <a class=" link-mailto" href="mailto:(waterson@netscape.com)" rel="freelink">(waterson@netscape.com)</a>
</p>
<div class="originaldocinfo">
<h3 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h3>
<ul><li> Author(s): <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a>
</li><li> Last Updated Date: November 19, 1998
</li><li> Copyright Information: Copyright (C) <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a>
</li></ul>
</div>
<p><span class="comment">Interwiki Language Links</span>
</p>{{ languages( { "ko": "ko/RDF_in_Fifty_Words_or_Less", "en": "en/RDF_in_Fifty_Words_or_Less" } ) }}
Ripristina questa versione