Strumenti Utente

Strumenti Sito


documentazione_3di:extraway:range

Questa è una vecchia versione del documento!


Ricerca per Range

Il concetto di ricerca per range di termini nasce per consentire di esprimere intervalli di chiavi da selezionare da un vocabolario da utilizzare tutte insieme come se si trattasse di un unica chiave.

Per tale ragione si è concepita una sintassi che consentisse di esprimere queste condizioni. La sintassi, in seguito, è gradualmente evoluta comprendendo anche modalità che con gli intervalli di termini avevano ben poco a che fare ma che si prestavano per esprimere il tutto come se fosse un'unica chiave.

Al fine di meglio comprendere la finalità di questa forma d'estensione pensiamo all'adiacenza tra questo intervallo di termini ed un altro termine. Solo trattandolo come se fosse un termine singolo l'adiacenza ha ragionevole speranza di essere portata a termine e di riuscire in questo compito in tempi ragionevoli.

Sintassi di base

La sintassi di base è estremamente semplice. Il termine viene rappresentato da qualcosa che va racchiuso tra parentesi graffe {} all'interno delle quali l'espressione cambia a seconda dei simboli e dei modificatori utilizzati.

Avremo quindi una condizione del tipo:
[campo]={espressione}

Le sintassi classiche

Quando parliamo di sintassi classica ci riferiamo al fatto che la sintassi rappresenti realmente un intervallo di termini.
L'intervallo può essere chiuso o aperto.
L'intervallo si dice chiuso quando entrambe gli estremi sono stati esplicitati e si dice invece aperto quando solo uno dei due estremi viene esplicitato.

La sintassi che ne deriva è la seguente
[campo]={estemo inferioreidentificatore tipo rangeestemo superiore}

Come detto gli estremi non sono entrambe obbligatori1) ed il significato del range cambia in virtù del suo identificatore.
Vediamo come

Identificatore tipo Range Descrizione
| Range inclusivo. Entrambe gli estremi indicati sono inclusi nei termini da ricercare. Si può esprimere un range aperto ed in tal caso il vocabolario viene investigato in tale direzione in modo completo.
^ Range esclusivo. Entrambe gli estremi indicati sono esclusi dai termini da ricercare. Esso si estende quindi dal primo termine superiore all'estremo inferiore sino all'ultimo termine inferiore l'estremo superiore. Anche in questo caso il range può essere aperto e palesemente l'estensione nella direzione dell'estremo non espresso ha luogo comunque in modo completo.
! Range negativo. I termini espressi come estremi vengono esclusi dalla selezione così come tutti i termini che ricadono tra di essi. In sostanza è una sorta di negazione del range inclusivo. Usarlo senza esprimere entrambe gli estremi non ha molto senso2) ed anche se si intende escludere un solo termine, il range deve indicare tale termine tanto come estremo inferiore quanto come estremo superiore.
< Range esclusivo a sinistra. Da utilizzarsi, ovviamente, indicando entrambe gli estremi3). In questo caso l'estremo di sinistra ovvero l'estremo inferiore viene escluso dal range mentre quello di destra, ovvero quello superiore, viene incluso nel range.
> Range esclusivo a destra. E' l'esatto opposto del caso precedente. Da utilizzarsi, ovviamente, indicando entrambe gli estremi4). In questo caso l'estremo di sinistra ovvero l'estremo inferiore viene incluso nel range mentre quello di destra, ovvero quello superiore, viene escluso dal range.
1)
salvo qualche caso particolare
2)
La cosa può essere ottenuta in modo più efficiente usando con un range aperto uno dei due casi precedenti
3) , 4)
Altrimenti tanto vale usare uno dei precedenti casi con un range aperto
/data/attic/documentazione_3di/extraway/range.1278087842.txt.gz · Ultima modifica: (modifica esterna)