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:
- OR
- AND
- NOT
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 |
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 L'OPERATORE "AND" L'OPERATORE
"OR" Italia OR pizza L'OPERATORE "AND
NOT" 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: |
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.
AND indica a Lycos Pro che si desidera ritrovare i documenti che
contengono tutti i termini inseriti. Ad esempio prova a vedere diverse
proposte per l'estate con la ricerca
vacanza AND hotel AND Caraibi. Questa ricerca troverà i documenti
che contengono tutte e tre le parole: vacanza, hotel e Caraibi. Puoi
effettuare la stessa ricerca anche indicando le tre parole chiave (vacanza
hotel Caraibi) e selezionando "Tutte le parole" nell'apposita casella.
Infine puoi anche usare il simbolo "+" in sostituzione del termine AND,
scrivendolo immediatamente davanti alle parole che vuoi includere nella tua
ricerca, per cui potrai effettuare la stessa ricerca digitando
"vacanza+hotel+Caraibi".
OR. Utilizza OR quando vuoi far apparire quei documenti che contengono anche solo alcuni dei termini della ricerca inseriti. Anche in questo caso puoi selezionare l'apposita casella "Alcune parole". Ad esempio, Londra OR Parigi, ti consentirà di trovare quei documenti che contengono i termini Londra oppure Parigi. Così come per AND puoi utilizzare l'OR come parte di una ricerca più complessa che includa diversi operatori booleani.
NOT. Usa il NOT per escludere dalla tua ricerca quei documenti che hanno al loro interno una certa parola chiave. Per esempio, se cerchi l'autore del Il Manifesto del Partito Comunista e non i famosi comici digita Marx NOT brothers. Puoi anche utilizzare il segno "-" davanti alle parole che vuoi escludere dalla tua ricerca, il nostro esempio di prima può quindi anche essere scritto in questo modo: "Marx -brothers".
Virgolette " ". Inserisci le virgolette laddove vuoi raggruppare un insieme di parole chiave in una frase. Questa ricerca equivale a selezionare "La Frase Esatta" nell'apposita tendina a scorrimento della ricerca avanzata con Lycos. Le virgolette quindi segnalano a Lycos di cercare tutti i documenti che contengono esattamente la frase che tu hai inserito. Puoi anche collegare diverse frasi e/o parole tra loro attraverso gli operatori booleani, ad esempio prova: "Smashing Pumpkins" AND Simpsons per avere informazioni sulle apparizioni della famosa band all'interno dei mitici cartoni animati di Homer and Bart.
Spesso, la relazione tra le parole all'interno di un documento ne rivela la rilevanza. Lycos Pro ti offre quattro operatori per aiutarti a definire queste relazioni: ADJ (adiacente), NEAR (vicino), FAR (lontano) e BEFORE (prima).
ADJ. Usa ADJ quando vuoi trovare i documenti nei quali le parole appaiono una vicina all'altra, in qualsiasi ordine. Se sei uno sportivo puoi fare una ricerca auto ADJ corsa sapendo che cercherai i documenti che contengono vicine tra loro le due parole in questo modo auto corsa e corsa auto.
NEAR. Quando utilizzi NEAR, i termini devono apparire tra loro nei documenti trovati con una distanza massima di 25 parole uno dall'altro. In questo modo cercando "Kevin Bacon" NEAR game ti permetterà di trovare pagine che fanno riferimento al famoso gioco senza necessariamente cercare solo quelli che contengono la frase "Kevin Bacon game". (Ad esempio la ricerca fatta con NEAR ritroverà anche un documento che contiene una frase di questo tipo: "Vi presentiamo un divertente gioco basato sui film di Kevin Bacon e i suoi colleghi.)
FAR. Il significato di FAR è l'opposto di NEAR. Quando utilizzi FAR, Lycos troverà le pagine che contengono i termini indicati distanziati tra loro di almeno 25 parole in almeno un caso. Poichè non preclude la possibilità che i termini appaiano più vicini tra loro nella stessa pagina, FAR è più utile quando usato insieme ad altre espressioni. Per esempio torta FAR mele NOT "torta di mele" ti permette di trovare le pagine che contengono entrambe le parole escludendo quelle con la frase torta di mele.
BEFORE. BEFORE funziona in modo simile a AND, l'unica differenza è che i termini devono apparire nell'ordine che tu hai specificato, indipendentemente dalla distanza tra di loro. Se non sei sicuro di come si scrive Gettysburg, puoi sempre trovare l'indirizzo del famoso presidente degli Stati Uniti Abraham Lincoln's cercando in questo modo fourscore BEFORE liberty.
Tra gli operatori che rivelano le relazioni , analizzando la posizione delle parole in un documento, solo BEFORE analizza l'ordine in cui essi si trovano. Tuttavia puoi aggiungere le funzionalità di BEFORE anche a ADJ, NEAR e FAR, aggiungendo la lettera "O" all'inizio (O sta per "ordinato"). Per cui race OADJ car individuerà i documenti contenenti race car vicini e non car race. (Nota che questo non esclude i documenti che contengono la frase car race se una certa pagina contiene questa frase che stai cercando. In modo simile puoi anche utilizzare gli operatori ONEAR e OFAR con un funzionamento simile a NEAR/FAR ma individuando solo le pagine che contengono i termini indicati esattamente nell'ordine in cui tu li hai inseriti.
Normalmente NEAR e FAR, usano 25 parole come distanza per contare la relazione tra diverse parole in un documento. Puoi modificare anche questo aspetto con Lycos aggiungendo una sbarra inclinata in avanti ("/") per entrambi gli operatori, facendola seguire dal numero di parole che desideri avere come distanza tra i termini.
Per esempio, se desideri essere più specifico in una ricerca con NEAR, puoi cercare in questo modo: 1997 NEAR/5 "Oscar nominees".
In modo analogo anche con ADJ, puoi specificare esattamente il numero di parole con cui i termini sono distanziati nella ricerca. Per esempio bacon ADJ/2 eggs troverà bacon and eggs ma anche eggs and bacon, oppure eggs with bacon.
Indicare la distanza funziona anche con OADJ, ONEAR e OFAR nello stesso modo di ADJ, NEAR e FAR.
Vediamo ad esempio il problema di trovare informazioni sulla First Lady americana che può essere indicata come "Hillary Clinton" ma anche "Hillary Rodham Clinton". Puoi risolvere questo problema facendo una ricerca in questo modo: Hillary ONEAR/2 Clinton.
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 |