L’adozione di tecnologie semantiche sui Social Networks

Le reti sociali o social networks, che dir si voglia, non sono di certo un concetto nuovo per quanto concerne almeno la sociologia. L’importanza e la forza delle reti sociali venne scoperta negli anni ’60 del secolo scorso da Milgram. Egli condusse degli esperimenti che portarono alla definizione del concetto di “small world” e dei famosi sei gradi di separazione. Allora l’esperimento fu condotto tra 100 persone sparse negli Stati Uniti d’America chiedendo loro di recapitare a una sola persona delle lettere. L’aspetto interessante dell’esperimento era dovuto al modo in cui tale corrispondenza doveva essere recapitata. Essa doveva transitare solo attraverso persone conosciute e questo, in pratica, le avrebbe rese nodi della rete sociale.

L’esperimento fu dimostrato nel 1998 da Watts e Stogatz, i quali confermarono la teoria dei “sei gradi di separazione”. Il numero medio di salti per percorrere il diametro di una rete sociale (che è anche una rete complessa) è pari a 6. Questo è possibile per mezzo di link “lunghi” tra nodi della rete sociale che consentono di abbattere le distanze nella rete stessa.
Continua a leggere

Introduzione al Semantic Web

Prima di tutto è bene chiarire cosa si intenda per semantica: la semantica è in pratica il significato che un’informazione racchiude. Noi utilizziamo una convenzione derivante dal linguaggio “libero” per descrivere il reale che ci circonda ed è per mezzo di essa che ci accordiamo sul significato delle parole, che diventano così dei significanti che descrivono gli oggetti reali (i referenti). L’essere umano processa il linguaggio utilizzando l’associazione di idee e riesce ad identificare in modo semplice un’enorme quantità di informazione soggiacente tramite i vari referenti del linguaggio

Pensando alla sconfinatezza dell’informazione accessibile tramite Internet quello che ci si chiede è allora perché non rendere anche le macchine consapevoli, almeno in parte, del significato di questo ammasso di documenti in perenne espansione. Quello che finora è stato fatto, a partire dagli albori del World Wide Web, è solo costruire una vastissima rete di collegamenti tra documenti standardizzandone la formattazione (tramite HTML) e uniformandone gli indirizzi (tramite URL). Tutto ciò è stato possibile mediante l’utilizzo di metadati invisibili all’utilizzatore ma necessari alle macchine al fine di renderizzare a video testi altrimenti informi.
Continua a leggere

Web semantico: classi OWL e OOP

È un errore comune quello di confondere il concetto di classe nella programmazione ad oggetti (OOP) con il suo analogo nella descrizione semantica delle risorse (in OWL). Vi sono infatti delle sottili differenze che bisogna tenere presenti quando ci si accosta per la prima volta alla creazione di strutture semantiche che facciano uso di classi e di istanze di classe.

Nella programmazione ad oggetti tutte le proprietà e le caratteristiche della classe discendono dal tipo stesso della classe, dunque il tipo di un oggetto non dipenderà dalle sue caratteristiche, bensì sono proprio gli attributi che dipenderanno dal tipo di classe. In OWL, invece, il tipo di un oggetto non indicherà necessariamente la sua struttura; piuttosto gli individui OWL potranno avere una data struttura indipendentemente dai loro tipi. In pratica questo approccio fa sì che un’entità che appartenga ad una data classe OWL condividerà con gli altri appartenenti alla medesima classe caratteristiche comuni.

La differenza non si coglie immediatamente, ma risulta una caratteristica importante per il funzionamento stesso delle classi semantiche.

Web semantico e linked data

Il web, per come lo conosciamo e per come è stato concepito fin dalla sua nascita, è un enorme insieme di informazioni, di documenti. Negli anni si è espanso in maniera esponenziale e oggi è un mastodontico sistema che ingloba informazioni di ogni tipo in una miriade di formati diversi, principalmente presentati in forma di documenti HTML o XHTML. Questi documenti vengono generati, nella maggioranza dei casi, da script lato server che interrogano basi dati ed eseguono delle query in base alle richieste dei client. Il problema è che i dati in quanto tali, essendo mascherati e presentati in base a delle specifiche necessità dei gestori dei vari siti web non sono disponibili direttamente. Se questo dal punto di vista di un singolo essere umano che legge una pagina web è un bene, per una macchina che esegue una scansione del web (un crawler) non è il massimo della semplicità.

Continua a leggere