Operatori Booleani

Il termine" booleano" che spesso si trova quando si fanno ricerche in database sia locali che nel Web, si riferisce ad un sistema logico sviluppato dal matematico inglese George Boole (1815-64).

La logica booleana consiste di tre operatori logici:

Nelle ricerche booleane, un operatore "AND" tra due parole o campi o valori (ad es., "pera AND mela", oppure "Editore: Mondadori AND Autore: Moravia") significa che si stanno ricercando documenti contenenti entrambe le parole o valori, non uno solo di essi. L'operatore "OR" tra due parole o campi o valori (ad es., "pera OR mela", etc.) significa che si stanno cercando documenti contenenti almeno una delle parole o valori. Infine, l'operatore "NOT" tra due parole o campi o valori (ad es., "pera NOT mela", etc.) significa che si stanno cercando documenti contenenti la prima parola o valore e non la seconda.

Ciascun operatore può essere descritto usando i diagrammi di Venn, come indicato sotto:


OR

Moravia OR Mondadori

(Tutti i documenti con Moravia editi da chiunque e tutti quelli di Mondadori, non necessariamente di Moravia)


AND

Moravia AND Mondadori

(Tutti i documenti con Moravia ma editi da Mondadori)


NOT

 

Moravia NOT Mondadori

Operatori Booleani Esempi Risultato

E

&

sviluppo E vendite

sviluppo & vendite

sviluppo vendite

Usando questi operatori verranno visualizzati solo i risultati che contengono entrambe le parole sviluppo E vendite nel titolo o nella descrizione.

Nota: Se non separate le parole della vostra ricerca, E viene usato per default.

O

|

sviluppo O vendite

sviluppo | vendite

Usando uno di questi due operatori otterrete risultati che contengono o sviluppo O vendite nel titolo o nella descrizione.

E NON

!

sviluppo E NON vendite

sviluppo ! vendite

usando le parole E NON otterrete risultati che contengono la parola sviluppo ma verranno esclusi qualli che contengono la parola vendite.
(  )

Usate le parentesi per separare sottoinsiemi di ricerca

(sviluppo O marketing) E NON sanità Usando le parentesi per separare i sottoinsiemi di ricerca otterrete una ricerca più raffinata. Potete usare qualsiasi Operatore Booleano per separare i vostri criteri di ricerca.

" "

Usate le virgolette per identificare frasi

"sviluppo vendite" Usate le frasi nella ricerca quando volete che parole o numeri specifici compaiano insieme nei risultati. Se volete trovare una frase esatta, usate e virgolette intorno alla frase quando la inserite nel box di ricerca.
*

Usate un asterisco come carattere generico

AZIENDA* Usare * dopo la radice di una parola vi farà ottenere risultati che contengono variazioni di quella radice nel titolo o nella descrizione. In questo esempio, la ricerca porterà a risultati che contengono le parola azienda, aziendale, etc.

Nota: Non usate altri operatori nella vostra ricerca. Virgole (,) e punti (.) sono ignorati, mentre punti e virgola (;) e due punti (:) potrebbero bloccare l'esecuzione della ricerca.


I motori più avanzati prevedono l’utilizzo di particolari operatori ai quali è possibile cambiare anche le impostazioni di base:

ADJ: (adiacenti) restringe il campo di ricerca a due o più parole nel preciso ordine in cui le scriviamo. Es.: Alessandro adj volta darà come risultati tutti i testi che contengono Alessandro o volta Alessandro, non volta e non Alessandro.

NEAR: Restringe il campo di ricerca alle parole che nello stesso testo sono vicine fino ad un massimo di 25 caratteri. Es.: Se cerchiamo informazioni su Camillo benso conte di Cavour possiamo restringere la ricerca scrivendo camillo near Cavour perché nella maggior parte dei tesi il famoso personaggio appare nella formula di ricerca iniziale.

FAR:è il contrario di NEAR, infatti se inserito tra due chiavi trova quelle che all’interno di un testo sono lontane almeno 25 parole in almeno un caso. Poiché il risultato è limitato ad almeno un caso e non preclude la possibilità che, negli altri casi, siano più vicine, l’operatore FAR è più utile se utilizzato insieme ad altri operatori per restringere il campo di ricerca.

BEFORE: simile per la sua funzione all’operatore AND, specifica anche l’ordine nel quale, le parole chiavi, devono apparire all’interno del testo.

(Es.: Volta before Alessandro darà come risultato i testi che contengono volta Alessandro a non Alessandro volta o solo volta o solo Alessandro).

Specificare l’ordine con ADJ, NEAR, FAR

È possibile sfruttare la caratteristica dell’operatore before anche con adj, near e far. Aggiungendo, infatti, la lettera “o” (ordinato) prima dell’operatore desiderato questo specificherà al motore che le parole chiavi devono essere contenute nel testo almeno una volta nell’ordine inserito (oadj, ofar e onear).

Es.: Alessandro oadj volta individuerà tutti i documenti che contengono Alessandro volta vicini e non volta Alessandro.

(Se un testo comunque contiene entrambe le versioni, Alessandro volta e volta Alessandro questo logicamente verrà trovato!).

Modifica adj, near e far

Abbiamo detto che “far” trova tutti i termini che sono distanti in un testo almeno 25 parole in un caso, che near trova quelli che sono vicini almeno 25 caratteri e che adj trova quelli adiacenti (nessuna parola tra le due).

E’ possibile modificare queste impostazioni e quindi scegliere il numero di parole/lettere che devono esserci tra le due parole chiavi semplicemente mettendo una sbarra inclinata in avanti ("/") seguita dal numero di parole che desidero avere come distanza tra le due chiavi.

Es.: camillo benso conte di Cavour posso trovarlo facendo camillo near/17 cavour e mettendo magari la “o” prima di near restringo ulteriormente il campo di ricerca.


Gli operatori logici, o booleani, consentono di comporre termini e valori nelle frasi di interrogazione per effettuare ricerche sulla base di dati che consentono, restringendo o allargando la ricerca, di richiamare i dati ai quali l’utente è interessato.

Gli operatori booleani che possono essere utilizzati sono: E, O, NON, XOR; questi possono assumere solo due valori (vero/falso, 0/1, Presente/Assente); in funzione dei valori assunti dai termini operandi, la loro composizione con uno degli operatori assumerà un determinato valore dello stesso tipo, secondo una determinata regola (illustrata successivamente).

E (AND)

L’operazione E, detta congiunzione, assegna al termine composto termine 1 E termine 2 il valore vero se sia termine 1 che termine 2 assumono il valore vero.

Ad esempio: se nel campo "Soggetto" viene inserito il termine "Pirandello" e nel campo "Editore" il termine "Mondadori", il programma eseguirà una ricerca di documenti che contengano entrambi i termini.

Termine 1 Termine 2 Termine 1 E Termine 2
Vero Vero Vero (estrae il documento con entrambi i termini)
Vero Falso Falso (non estrae il documento)
Falso Vero Falso (non estrae il documento)
Falso Falso Falso (non estrae il documento)

Vero = termine presente

Falso = termine non presente

O (OR)

L’operazione O, detta disgiunzione, assegna al termine 1 O termine 2 il valore falso se e soltanto se tanto termine 1 che termine 2 assumono valore falso.

Ad esempio: se nel campo "Soggetto" viene inserito il termine "Pirandello" e nel campo "Editore" il termine "Mondadori", il programma eseguirà una ricerca di documenti che contengano o il termine 1 o il termine 2.

Termine 1 Termine 2 Termine 1 O Termine 2
Vero Vero Vero (estrae il documento con entrambi i termini)
Vero Falso Vero (estrae il documento con il termine 1)
Falso Vero Vero (estrae il documento con il termine 2)
Falso Falso Falso (non estrae il documento)

Vero = termine presente

Falso = termine non presente

NON (NOT)

L’operazione NON, detta negazione, assegna al termine composto NON termine 1 il valore vero se e soltanto se termine 1 assume valore falso.

Quando si applica l’operatore NON ad un termine della ricerca, si escludono i documenti che contengono quel termine.

Ad esempio: se nel campo "Editore" viene inserito il termine "A. Mondadori", vengono estratti tutti i documenti che non contengono quel termine.

Termine 1 NON Termine 1
Vero Falso (non estrae il documento)
Falso Vero (estrae il documento)

Vero = termine presente

Falso = termine non presente

N.B.: non è possibile effettuare ricerche che contengono esclusivamente termini preceduti da NON; almeno un termine non deve essere preceduto da tale operatore.

La condizione di ricerca NON Termine 1 deve essere sempre utilizzata in AND o in OR con un'altra condizione.

Esempio: Manzoni E NON Alessandro.

 

XOR

L’operazione XOR, detta differenza simmetrica, assegna al termine composto termine 1 XOR termine 2 il valore vero se, e soltanto se, termine 1 e termine 2 assumono valori opposti.

L’effetto della ricerca è quello di reperire i documenti che contengono un termine o l’altro, ma non entrambi.

Termine 1 Termine 2 Termine 1 XOR Termine 2
Vero Vero Falso (non estrae il documento)
Vero Falso Vero (estrae il documento con il termine 1)
Falso Vero Vero (estrae il documento con il termine 2)
Falso Falso Falso (non estrae il documento)

Vero = termine presente

Falso = termine non presente

N.B.: il suo uso è piuttosto raro, e in genere limitato a ricerche particolarmente sofisticate da parte di utenti esperti.


Modalità di ricerca: Ricerca avanzata

RICERCA AVANZATA
Quasi tutti i motori mettono a disposizione un insieme di opzioni di ricerca avanzata, a volte anche molto diverse tra loro. Osserveremo nel dettaglio queste caratteristiche nella sezione dedicata ai singoli motori.
Di norma non è possibile utilizzare la stessa sintassi di ricerca trasferendosi da un motore all'altro è però importante sapere che gli operatori booleani costituiscono un'eccezione a questa regola in quanto vengono accettati con qualche minima differenza praticamente da tutti i motori.

A questo punto qualcuno si potrebbe chiedere cosa sono e soprattutto come si usano gli operatori booleani?
Si tratta di quattro parole (AND, OR, NOT e NEAR) estremamente potenti ed in grado di espandere o restringere il campo di ricerca di una interrogazione (a qualcuno potrebbe interessare sapere che esse devono il nome al matematico inglese George Boole (1815-1864) che posò le basi della moderna logica simbolica).

N.B. Consigliamo vivamente di inserire gli operatori a lettere maiuscole sia per meglio distinguerli dalle parole chiave vere e proprie sia perché alcuni motori (ad es. Excite) richiedono espressamente l'operatore digitato maiuscolo.


L'OPERATORE "AND"
Restringe il campo di ricerca, inserendo ad esempio la stringa:

Italia AND pizza

Il motore ci mostrerà una lista di pagine che contengono entrambe le parole.

l'operatore "AND"


L'OPERATORE "OR"
Estende il campo di ricerca, digitando ad esempio:

Italia OR pizza

Otterremo una lista di pagine che contengono la parola Italia o la parola pizza. L'immagine sotto evidenzia come l'operatore abbia allargato l'insieme dei documenti che incontrano le nostre esigenze.

l'operatore "OR"


L'OPERATORE "AND NOT"
Restringe il campo di ricerca, inserendo:

Italia AND NOT pizza

Richiederemo documenti che contengono la parola Italia ma non la parola pizza.

l'operatore "AND NOT"


L'OPERATORE "NEAR"
Restringe il campo di ricerca, è più potente dell'operatore AND. Oltre a ricercare documenti che contengono entrambe le parole, restringe il campo di ricerca specificando che i due termini si devono trovare entro un certo numero di parole di distanza l'uno dall'altro.(queste variano da motore a motore, ad es. in Altavista sono 10 in Lycos 25).

N.B.
Questo operatore non è riconosciuto da tutti i motori, Excite ad esempio non consente di utilizzarlo.

l'operatore "NEAR"


Naturalmente gli operatori booleani consentono di effettuare ricerche con più di due parole chiave, creando così interrogazioni che possono diventare molto complesse. Ecco due esempi chiarificatori:

(A and B) or C

(Italia AND pizza) OR spaghetti

A and (B or C)

Italia AND (pizza OR spaghetti)


Gli operatori booleani: Lycos Pro ti permette di fare ricerche avanzate grazie all'utilizzo degli operatori booleani.

Gli operatori booleani (ad esempio l'operatore "AND"), non sono "case sensitive", ovvero non tengono conto delle lettere maiuscole o minuscole. Potrai quindi usare indifferentemente parole come "OR" o "or" senza che ciò abbia alcun effetto sul risultato della ricerca.


Gli operatori logici, se utilizzati in combinazione fra loro, consentono elevatissime capacità di ricerca. In questa pagina, cercheremo di fornirvi degli esempi chiarificatori che tuttavia vi sconsigliamo di leggere fino a quando non abbiate capito esattamente la filosofia che sta alla base dei singoli operatori logici.

Supponiamo che vi interessino delle immagini di animali in genere, tranne quelle relative ai cavalli.
Iniziamo a immaginare quali possano essere le keyword da utilizzare...
Dopo un rapido esame, ci accorgiamo che le più appropriate sono: immagini, animali e cavallo.
A questo punto dobbiamo cercare di collegare fra loro le varie keyword per ottenere il risultato desiderato.
La richiesta corretta da sottoporre al computer sarà la seguente:

(immagini AND animali) AND (NOT cavallo)

Cerchiamo ora di analizzare la struttura logica della richiesta appena inserita...
Con (immagini AND animali) vogliamo selezionare quei files che contengono sia immagini che animali contemporaneamente, il che equivale a dire che desideriamo ricercare tutti i files che contengono delle immagini di animali.
Ponendo il risultato di questa ricerca fra parentesi, vogliamo che esso venga trattato come un'unica entità; entità che viene analizzata e unita dal successivo operatore AND all'espressione di negazione (NOT cavallo), che esclude tutti i riferimenti alla keyword cavallo dall'entità (immagini AND animali) che invece comprende tutte le immagini di animali, comprese evidentemente quelle del cavallo che noi invece, con l'espressione (NOT cavallo) abbiamo abilmente evitato.

Proseguiamo con un ulteriore esempio...
Vogliamo trovare tutti i programmi grafici che supportano il formato GIF per i sistemi operativi Windows95 e Macintosh.
Come al solito, la prima cosa da fare è individuare le keyword che, in questo caso, saranno:
grafica, gif, windows95 e macintosh.
La richiesta da sottoporre al computer dovrà essere simile alla seguente:

(grafica AND gif) AND (windows95 OR macintosh)

Il cui significato è di semplice comprensione; infatti, l'espressione (grafica AND gif) seleziona l'insieme dei programmi di grafica che supportano anche il formato gif, mentre l'espressione (windows95 OR macintosh) seleziona entrambi i sistemi operativi..
A questo punto, l'espressione completa:
(grafica AND gif) AND (windows95 OR macintosh)
selezionerà i programmi grafici che supportano il formato gif per entrambi i sistemi operativi, windows95 e macintosh.


RICERCHE MEDIANTE OPERATORI BOOLEANI
Cosa voglio cercare Esempio Risultato
Due termini nello stesso documento Legge AND Decreto
Oppure
Legge & Decreto
Restituisce tutti i documenti in cui sono presenti entrambe le parole legge e decreto
Almeno uno dei due termini nello stesso documento Legge OR Decreto
Oppure
Legge | Decreto
Restituisce tutti i documenti in cui sono presenti almeno una delle due parole o entrambe
La prima parola ma non la seconda Legge AND NOT Decreto
Oppure
Legge & ! Decreto
Restituisce tutti i documenti in cui è presente la parola legge ma non la parola decreto
Le pagine la cui dimensione non sia di 100 Kbytes NOT @size = 100
Oppure
! @size = 100
Restituisce tutti i documenti la cui dimensione non sia di 100 Kbytes
Due termini vicini uno all'altro nello stesso documento Legge NEAR Decreto
Oppure
Legge ~ Decreto
Restituisce tutti i documenti in cui la parola legge risulta vicino alla parola decreto