Che cosa può rappresentare il Web Semantico
Questo documento è la traduzione del documento What the Semantic Web can represent di Tim Berners-Lee. Il documento originale è su http://www.w3.org/DesignIssues/RDFnot.html.
Ringrazio Tim Berners-Lee e Ian Jacobs per aver concesso l'autorizzazione alla traduzione.
Traduzione di Pasquale Popolizio.
Data: Settembre 1998. Ultima modifica: $Date: 1998/09/17 20:10:41 $
Stato del documento: . Stato di edizione: Commenti, per favore. Una discussione "fra parentesi" su Web Architecture at 50,000 feet and the Semantic Web roadmap.
Fra parentesi, così da non disturbare il flusso di cosa è il Web Semantico... che cosa esso non è e come altri modelli di dati si confrontano con i grafici diretti etichettati.
Che cosa può rappresentare il Web Semantico
Esistono molti altri modelli di dati con i quali il modello DLG Directed Labelled Graph di RDF può compararsi e confrontarsi. Questa pagina è stata scritta con l'intento di elencare le somiglianze e le differenze fra i modelli, per indicare come potrebbe essere realizzato il confronto e quale informazione supplementare debba essere aggiunta al processo. Laddove gli altri modelli sono correlati a precedenti promesse non mantenute dalla computer scienze, ora passate nel comune sentire come problemi non risolvibili, essi suggeriscono una paura che l'obiettivo del Web Semantico sia non appropriato..
Una sostanziale differenza fra il Web Semantico e molti modelli di dati per linguaggi di programmazione è rappresentata dall'"assunzione del mondo chiuso".
Un Web Semantico non è Intelligenza Artificiale
Il concetto dei documenti riconoscibili dalle macchine non implica alcuna magica intelligenza artificiale che permetta alle macchine di comprendere le confabulazioni umane. Esso indica solo un'abilità delle macchine a risolvere un problema ben definito realizzando operazioni ben definite su dati ben definiti esistenti. Invece di richiedere alla macchine di riconoscere e capire il linguaggio delle persone, esso richiede alle persone di fare un ulteriore sforzo.
Seppur semplice da definire, l'RDF al livello con la potenza di un Web Semantico sarà un linguaggio completo, capace di esprimere paradossi e tautologie, e col quale sarà possibile scrivere domande le cui risposte richiederebbero ad una macchina di ricercare nell'intero Web ed un'inimmaginabile quantità di tempo per rispondere. Questo non ci dovrebbe dissuadere da completare il linguaggio. Ogni meccanica applicazione RDF userà uno schema per restringere il suo uso di RDF ad un linguaggio volutamente limitato. Comunque, quando vengono realizzati collegamenti fra le ragnatele RDF, il risultato sarà un'espressione con una grossa quantità di informazione. E' chiaro che poiché il Web Semantico deve essere in grado di includere tutti i tipi di dati per rappresentare il mondo intero, il linguaggio stesso debba essere completamente espressivo.
Un Web Semantico non richiederà che ogni applicazione debba usare espresioni di complessità arbritaria
Sebbene il linguaggio stesso permetta espressioni di arbitraria complessità e computabilità, le applicazioni che generano RDF saranno limitate in pratica a generare semplici espressioni come un elenco di controllo di accesso, preferenze sulla privacy, e criteri di ricerca. Ciò non significa che laddove è necessario un "non", esso dovrebbe essere trovato in un vocabolario standard così che ogni motore RDF sia in grado di riconoscerlo come "non".
(ancora sull'argomento)
Un Web Semantico non avrà bisogno di generare prove per essere utile: sarà sufficiente la validazione della prova
[...] E' riconosciuto che ricercare e generare una prova per una domanda arbitraria è tipicamente un processo non trattabile per molti problemi del mondo reale, e l'RDF non richiede che questo problema (non risolvibile) sia risolto, per essere utile.
Un Web Semantico non è esattamente un nuovo tentativo di un precedente esperimento già fallito.
Altri argomenti vengono sollevati, a questo punto, sulla relazione con sistemi di rappresentazione della Conoscenza: non sono stati già provati prima, esperimenti con progetti come KIF a cyc? La risposta è si, e tali sistemi sono stati sviluppati per molto tempo. Essi dovrebbero nutrire il Web Semantico con esperienza di design e il Web Semantico può fornire una fonte di dati per motori che possiedono capacità di ragionamento sviluppati in progetti simili.
Molti sistemi di rappresentazione della conoscenza avevano un problema nell'unire e interrelare due basi separate di conoscenza, il modello era quello che ogni concetto aveva uno e un solo posto nell'albero di conoscenza. Essi comunque non erano scalabili, né passavano il test di invenzione indipendente [vedi evolvability]. Il mondo RDF, in contrasto, è disegnato avendo in mente questo e la documentazione retrospettiva di relazioni fra concetti originalmente indipendenti.
La rappresentazione della conoscenza diventa globale
La rappresentazione della conoscenza è un campo che attualmente sembra avere la reputazione di essere all'inizio interessante, ma che non sembra scuotere il mondo così come speravano alcuni dei proponenti. Esso aveva senso ma era di uso limitato su piccola scala, ma mai su larga scala. Questo è esattamente lo stato in cui era il settore dell'ipertesto prima del Web. Ogni settore ha fatto alcune assunzioni centralistiche -- se non in filosofia, in implementazioni, che hanno impedito una diffusione globale. Ma ogni settore era basato sull'idea della rappresentazione della conoscenza. Il Web Semantico rappresenta ciò che potremo avere se realizzeremo lo stesso processo di globalizzazione di Rappresentazione della Conoscenza che il Web inizialmente realizzò per l'Ipertesto. Rimoviamo i concetti centralizzati di verità assoluta, conoscenza totale e prova totale, e vediamo cosa possiamo fare con conoscenza limitata.
Il Web Semantico e i modelli di Relazione di Entità
Il modello RDF è un modello di relazione di entità? Si e no. Va bene come base per un modello ER, ma poiché l'RDF viene utilizzato anche per altre cose, l'RDF è più generale. L'RDF è un modello di entità (nodi) e relazioni. Se hai nozioni di sistema di modelli "ER" per dati, noterai che il modello RDF è, di base, un'apertura del modello ER per lavorare sul Web. In un tipico modello ER vi sono tipi di entità e per ogni tipo di entità eiste un gruppo di relazioni. Il modello RDF è lo stesso, salvo per le relazioni che sono oggetti di prima classe: esse sono identificate da URI, e così chiunque può realizzarne una. Inoltre il gruppo di immissioni di un oggetto non è definito quando viene definita la classe di un oggetto. Il Web funziona nonostante chiunque abbia (tecnicamente) la possibilità di dire qualsiasi cosa su tutto. Ciò significa che può essere conservata una relazione fra due oggetti, distinguendola da ogni altra informazione sui due oggetti. Ciò è differente dai sistemi orientati ad oggetti spesso utilizzati per implementare modelli "ER", che generalmente assumono che l'informazione su un oggetto venga conservata in un oggetto: la definizione di classe di un oggetto definisce la conservazione implicita per la sua proprietà.
Per esempio, una persona può definire un veicolo che abbia un numero di ruote, un peso e una lunghezza, senza prevedere un colore. Ciò non fermerà un'altra persona nel fare l'asserzione che l'auto sia rossa, utilizzando il vocabolario del colore proveniente da qualsiasi altra parte.
Separati da questo semplice ma significativo cambiamento, molti concetti implicati nella modellazione ER portano direttamente nel modello del Web Semantico.
Il Web Semantico ed i database relazionali
Il modello di dati del Web Semantico è direttamente connesso con il modello dei database relazionali. Un database relazionale è fatto di tabelle, che sono fatte di righe, o records. Ogni record è fatto di un gruppo di campi. Il record altro non è che il contenuto dei suoi campi, proprio come un nodo RDF altro non è che le connessioni: il valori delle proprietà. L'equivalenza è molto seplice:
- un record rappresenta il nodo RDF
- un nome del campo (colonna) rappresenta la propertyType dell'RDF;
- il campo del record (la cella della tabella) rappresenta il valore.
Effettivamente, una delle forze trainanti del Web Semantico è stata sempre l'espressione, sul Web, di un grosso numero di informazione da database relazionale in un modo tale da essere poi processato dalle macchine.
Il formato di serializzazione dell'RDF - la sua sintassi in XML - rappresenta un formato molto comodo per rappresentare l'informazione di database relazionali.
I sistemi di database relazionali gestiscono i dati RDF, anche se in modo speciale. In una tabella vi sono molti records con lo stesso gruppo di proprietà. Una singola cella (cui corrisponde una proprietà RDF) non viene spesso pensata come a sè stante. Le query SQL possono unire le tabelle ed estrarre da lì i dati, ed i risultato è generalmente una tabella. Ne deriva l'uso pratico per il quale il software RDB viene tipicamente ottimizzato per tali operazioni con un piccolo numero di tabelle, alcune delle quali possono avere un grosso numero di elementi.
I sistemi RDB hanno datatypes ad un livello atomico (non strutturato), così come l'RDF e l'XML. Le regole di combinazione tendono ad essere applicate liberamente, in modo che una query possa unire le tabelle per ogni colonna equivalente al datatype - senza alcun riscontro della semantica. Si potrebbe per esempio creare un elenco di case che hanno lo stesso numero di camere della dimensione delle scarpe di un impiegato, per ogni impiegato, anche se il senso di tutto ciò sarebbe tutto da verificare.
Il Web Semantico non è disegnato per essere un nuovo modello di dati - esso è più appropriato come collegamento di dati provenienti da diversi modelli. Una delle grandi cose che esso permetterà è di aggiungere informazioni relative a differenti database sul Web, per permettere operazioni sofisticate da realizzare su di essi.
L'RDF non è un sistema di inferenza
Non sto proponendo un motore di inferenza FPOC o HOL. Noto solo che HOL permette integrazione di sistemi multipli che usano differenti motori di inferenza che vanno dall'SQL all'AI. Per esempio, un semplice HOL permetterebbe regole, dati e risultati SHOE, ed una prova trovata da un motore SHOE potrebbe essere validata da chiunque.
Siamo sicuri che tutti i sistemi basati sul calcolo di predicato di primo ordine o di ordine più alto (come KIF) hanno storicamente fallito nell'avere un impatto ampio?
Questo è stato vero per i sistemi di ipertesto, fra il 1970 ed il 1990, prima del Web. Effettivamente, la stessa obiezione fu mossa al Web, e le stesse ragioni si applicano per andare avanti con il sogno.
Il problema con tali sistemi era che essi erano concettualmente o fisicamente centralizzati. Richiedevano consistenza globale.
Lo sapevate? KIF è molto centralizzato nel suo approccio per organizzare la conoscenza (la cyc ontlogy per esempio suggerisce che tutti siano d'accordo sugli stessi termini per parole inglesi, cosa che l'RDF non fa) e non promuove i suoi concetti per essere oggetti Web di prima classe, per esempio non usa gli URI per identificarli. Rendere per il Web KIF e KR è, in generale, in molti modi, lo stesso di rendere per il Web l'ipertesto in molti casi. Sostituire gli identificatori con gli URI. Togliere ogni requisito per consistenza globale. Mettercela tutta per arrivare ad una massa critica. Un attimo di calma.
Siamo sicuri che molte cose che possono essere espresse in FOPC non siano efficientemente computabili?
E' vero. L'obiettivo del Web Semantico è di esprimere la vita reale. Molte cose nella vita reale, questioni reali che affrontiamo ogni giorno non sono efficacemente computabili. Esistono due soluzioni a questo: la classica soluzione (pre-Web) è di costringere il linguaggio di espressione così che tutte le query possano terminare in un tempo finito. La soluzione Weblike è di permettere l'espressione di fatti e regole in un linguaggio generale che sia sufficientemente flessibile e potente per esprimere la vita reale. Creare sottogruppi per il Web nei quali specifiche limitazioni danno specifiche proprietà computazionali. Un'analogia è con i sistemi di informazione umana che esistevano prima del Web. Molti forzavano a lasciare i dati in una gerarchia (qualche volta di profondità fissa o una matrice, spesso con un numero specifico di dimensioni). Questo diede alla consistenza proprietà all'interno del sistema di informazione. Scommetto che DARPA possiede molti di questi sistemi. L'unico modo in cui essi potrebbero essere integrati era di esprimerli in termini di linguaggio molto più potente - l'ipertesto globale. L'ipertesto non possedeva nessuna di queste proprietà rassicuranti. Le persone avevano paura di perdersi in esso. Potresti seguire link per sempre. E' vero che esiste il problema che sul Web si possono seguire link all'infinito. E sul Web Semantico un motore di inferenza non terminerebbe necessariamente. Comunque, sul Web esistono troppi sottosistemi come tanti siti Web dove la vita è ben ordinata e prevedibile, e le ricerche danno buoni risultati e non esistono link incerti. Ma esiste un GROSSO vantaggio nell'esporre tutta questa informazione in un modo tale da permettere l'unificazione con tutti gli altri sistemi, ordinati e non ordinati.
Non dovremo aspettarci un livello base di inferenza per includere computazioni che non si possono scegliere
Non ho aspettative sulla capacità di inferenza nel design essenziale del Web Semantico. Il Web Semantico non deve avere inferenza HOL come standard. Piuttosto mi aspetterei un dispositivo conforme al Web Semantico suscettibile di validare una prova HOL, ma non capace di generarne una.
Se si prende un linguaggio non completamente HOL e lo si estende a HOL, fin quando non si definisce dove si sta andando (definendo dapprima il linguaggio HOL e esprimendo SHOE con esso) si finirebbe per avere un linguaggio HOl piuttosto barocco.
Il Modello di inferenza FOPC è estremamente intollerante sulla inconsistenza [per esempio, P(x) & NOT (P(X)) -> Q], il Web Semantico deve tollerare molti tipi di inconsistenza.
Tollerare l'inconsistenza può essere fatto solo da sistemi con diversi livelli di applicabilità. Abbiamo bisogno di un Web Semantico che fornisca garanzie, e con il quale si possa ragionare con logica. (Un sistema con diversi livelli di applicabilità potrebbe essere valido per trovare una prova - ma poi dovrebbe essere in grado di tornare indietro e giustificare ogni deduzione logicamente per produrre una prova in un linguaggio unificante HOL che chiunque possa controllare.) Ogni sistema di Web Semantico reale funzionerà non, credendo in ogni cosa esso legga sul Web, ma controllando la fonte di ogni informazione (Mi piacerebbe che le persone potessero imparare a fare questo sul Web!). Così infatti, una regola permetterà ad un sistema di inferire cose solo da dichiarazioni di una forma particolare, firmate da chiavi particolari. All'interno di tale sistema, un'inconsistenza è un serio problema, non qualcosa su cui girarci intorno. Se la mia banca dice che sul mio conto vi sono 100$ mentre il mio computer dice 200$, abbiamo un problema da risolvere. Lo stesso vale per lanci di missili, IMHO. Il modello del Web Semantico prevede che un URI dereferenzia ad un documento che analizza (parses) ad un grafico, diretto etichetatto, di dichiarazioni. Le dichiarazioni possono avere gli URI come parametri, così che possono fare dichiarazioni su altri documenti e su altre dichiarazioni. Così è possibile esprimere verità e ragioni, e limitare le informazioni a dati consistenti veritieri.
Ancora, trovo sensato un'estensione ad una logica di livello più alto, mentre il requisito del modello di inferenza FOPC sembra pericoloso.
La maggior parte dei sistemi KR confondono l'informazione con piccole informazioni di inferenza. Quando un sistema conserva una regola una figlia di una figlia di una persona è la sua nipote, essa non viene trattata come una dichiarazione, ma in una tabella di regole per essere poi usata dall'algoritmo in un momento particolare (per esempio allorquando viene ritrovata un genitore di una figlia). La classificazione fra dati e vari tipi di regole è una sorta di informazione di meta level che non è generalmente espressa nel linguaggio. Due sistemi devono esser in grado di scambiarsi il significato logico della regola, anche quando il tipo di regola può essere sconosciuto ai motori di inferenza di entrambi. (Naturalmente, la regola espressa in logica generale può essere ricoscibile come regola da un altro sistema ed anche assorbito.) L'esempio che segue è logico
∀α,β,χ (d(a,b) & d(b,c) => gd(a,c))
mentre, per esempio, un sistema basato su SHOE ed un sistema Algernon può avere certamente differenti sistemi per applicare regole in tempi diversi.
Grafici concettuali ed il Web Semantico
Ho scritto un gruppo separato di note sulla relazione fra Grafici Concettuali ed il Web Semantico.
Alcuni riferimenti non ordinati - vedi anche altre pagine in questo gruppo.
Shoe
Riferimenti sul KR sul Web da Tim Finin:
Esistono alcuni documenti rilevanti preventinti da IJCAI-99 Workshop on Intelligent Information Integration. Il primo è un gradevole introduzione...
- Practical Knowledge Representation for the Web, Frank van Harmelen and Dieter Fensel,
- UML as an Ontology Modelling Language, Stephen Cranefield, Martin Purvis,
- On2broker: Semantic-Based Access to Information Sources at the WWW, Dieter Fensel, Jurgen Angele, Stefan Decker, Michael Erdmann, Hans-Peter Schnurr, Steffen Staab, Rudi Studer, Andreas Witt,
e qui alcuni altri documenti di possibile interesse...
Embedding Knowledge in Web Documents, Philippe Martin and Peter Eklund, Eighth International World Wide Web Conference, Toronto, May 11-14, 1999.
Ontobroker: Or How to Enable Intelligent Access to the WWW, Dieter Fensel, Stefan Decker, Michael Erdmann, and Rudi Studer, Eleventh Workshop on Knowledge Acquisition, Modeling and Management, Voyager Inn, Banff, Alberta, Canada, Saturday 18th to Thursday 23rd April, 1998
e, se vuoi una buona introduzione su cyc
CYC: A Large-Scale Investment in Knowledge Infrastructure Douglas B. Lenat, CACM, 1995. I have a local copy at http://www.cs.umbc.edu/471/papers/cyc95.pdf