Especificação da expressão de busca na linha de comando
bool=<bool_expr_spec>
O parâmetro bool permite realizar buscas em bases de dados. MX provê todas as
operações booleanas da linguagem de busca do CDS/ISIS. O resultado de uma busca é um conjunto de registros que atendem à especificação da expressão de busca. A palavra bool é opcional, já que MX considera expressão de busca tudo aquilo que não é um parâmetro. Os dois exemplos seguintes produzem o mesmo resultado:
mx cds bool=water mx cds water
A saída da execução da busca é:
mx cds culture pft=mfn/ 2 2 CULTURE 2 2 Set #000001 Hits=2 000050 .. 000064 ->
Primeiro é apresentada a resolução da busca e é atribuído um número de seqüência ao resultado (Set #000001). Em seguida são mostrados os registros de acordo com o formato preestabelecido.
Dica:
Enquanto os registros do resultado da consulta são mostrados, é usado o prompt .. e quando termina de processar os registros o prompt muda para ->.
É possível continuar fazendo consultas a partir do prompt de forma interativa, mas não é possível, com este parâmetro, fazer referência aos resultados anteriores em consultas do tipo #1 + #2, etc. Para isto é necessário o uso do parâmetro tmpx (será apresentado mais adiante neste capítulo).
Dica:
Lembre que na linha de comandos do MS-DOS os espaços em brancos separa em parâmetros, portanto, se a expressão de busca contém espaços em branco ou caracteres especiais reservados, toda a expressão, junto com o parâmetro de comando, deverá estar entre aspas duplas.
mx cds "bool=water + soil" mx cds "water + soil"
O programa MX aceita os operadores booleanos +, *, ^ que CDS/ISIS usa, assim como suas
expressões literais OR, AND, NOT.
mx cds "bool=water or soil" mx cds "agricult$ and plants"
Carregar a expressão de busca a partir de um arquivo
bool=@<file>
bool=@<file> pega a expressão de busca a partir de um arquivo ASCII externo.
Neste caso a expressão não precisa estar entre aspas. Supondo que o arquivo consulta.001 contenha a expressão: agricult$ and plants, então o último exemplo é traduzido para qualquer das duas formas seguintes:
mx cds bool=@consulta.001 mx cds @consulta.001
O parâmetro bool é opcional, mas seu uso poderá ser necessário quando a expressão de busca começa com uma palavra reservada do MX.
Dica:
O parâmetro bool= exclui o uso do parâmetro text[/show]=<text>.
Querendo-se recuperar registros que contêm a palavra now:
mx cds now | Não fará o esperado, visto que interpreta now como parâmetro, não como expressão de busca. |
mx cds “now” | Não fará o esperado, porque interpreta now como parâmetro e não como expressão de busca. |
mx cds bool=now | Está correcto. |
mx cds “bool=now” | Está correcto. |
Utilização dos resultados intermediários de uma busca
mpx=<tmpx_query_dbn> Parâmetro obsoleto: b70=<b70_query_dbn>
O parâmetro tmpx armazena os resultados intermediários de uma sessão de busca, permitindo referenciar resultados anteriores em formulações do tipo #1 + #2. O nome atribuído à direita do sinal de igual é uma base de dados ISIS que MX cria e reinicializa automaticamente, e não é apagada ao final da execução.
Dica: O parâmetro tmpx deve ser usado antes da expressão de busca.
mx cds tmpx=x70 plants water #1*#2 pft=mfn/ now 8 PLANTS 8 Set #000000001 Hits=8 14 WATER 14 Set #000000002 Hits=14 3 Operation * 3 Set #000000003 Hits=3 000004 000011 000013
Note-se que, se for informado o parâmetro tmpx, é possível realizar consultas interativas a partir do prompt do MX. fazendo referências a resultados anteriores.
Dica:
Por compatibilidade, o MX aceita tanto o parâmetro b70 como o b40.
No seguinte exemplo os termos que são introduzidos um a um pelo operador, como resposta ao prompt, são mostrados destacados em negrito. O resultado do processo é armazenado na base X70.
mx cds tmpx=x70 plants pft=mfn/ 8 PLANTS 8 Set #000000004 Hits=8 000001 ..water 14 WATER 14 Set #000000005 Hits=14 000004 ..#1 and #2 3 Operation * 3 Set #000000006 Hits=3 000004 .. 000011 .. 000013 ->x
É possível realizar consultas complexas, lendo a expressão de busca a partir de um arquivo externo. Supondo que o arquivo PERFIL.001 tenha a seguinte formulação de busca:
Water Plants #1 and #2 Transpiration #3 or #4
A seguinte linha de comando produz uma saída para arquivo texto com os registros recuperados de acordo com o perfil atribuído. Observe-se que cada consulta individual deve ser entrada como linha independente no arquivo
PERFIL.001. mx CDS tmpx=x70 in=perfil.001 pft=@cds.pft now > out_001.txt
Eliminação da estatística da busca
btell=0
É possível suprimir a saída na tela que registra o processamento dos passos intermediários e final da busca. Neste caso o parâmetro btell=0 deve vir antes da formulação da busca. Exemplo:
Sem parâmetro btell= | • Com parâmetro btell=0 |
mx cds “water * plants” pft=mfn/ now | mx cds btell=0 “water * plants” pft=mfn/ now |
14 WATER 8 PLANTS 3 Operation * 3 Set #000000001 Hits=3 000004 000011 000013 |
000004 000011 000013 |
btell=2
Lista os termos do dicionário, quando executa o $ de truncamento.
Busca em vários arquivos invertidos
invx=M/F
O invx contém registros com o campo v101 repetitivo, com o seguinte formato:
^pPrefijo o asterisco^yArquivo[^uUseprefix][^mMessage]
Exemplo:
Cria-se um master cdsinvx, com os seguintes campos
^p*^ycds^mText words ^pAU ^ycdsaut^mAuthor ^pTI ^ycdstit^mTitle words ^pKW ^ycdkw^mKeywords
Cria-se os invertidos associados a CDS
mx cds "fst=1 0 (v70/)" fullinv=cdsaut mx cds "fst=1 4 v24" fullinv=cdstit mx cds "fst=1 2 v69" fullinv=cdskw
Consultas
mx cds invx=cdsinvx "KW plants " pft=mfn,x1,v24,x1,v69 2 PLANTS 2 Set #000000001 Hits=2 000054 Vegetation as a geological agent in tropical deltas Paper on: <vegetation><geology><deltas><tropical zones><sedimentation><plants><organic matter><wetlands>.. 000069 Some important animal pests and parasites of East Pakistan Paper on: <pests><parasites><biology><ecology><plants><agriculture><public health><food><Bangladesh> ->x mx cds invx=cdsinvx "KW plants * east" 2 PLANTS 9 EAST 1 Operation * 1 Set #000000001 Hits=1 mfn= 69 24 «Some important animal pests and parasites of East Pakistan» 26 «^c1966» 30 «^ap. 285-291^billus.» 44 «Scientific problems of the humid tropical zone deltas and their implicatio ns: proceedings of the Dacca Symposium» 50 «Incl. bibl.» 69 «Paper on: <pests><parasites><biology><ecology><plants><agriculture><public health><food><Bangladesh>» 70 100 «Yosufzai, H.K.» «1001» ->x
Se o prefixo for indicado entre [ ], então se aplica a todos os termos da formulação
booleana:
mx cds invx=cdsinvx "[KW] plants * east" 2 PLANTS EAST Operation * Set #000000001 Hits=0 ->x
Buscas em texto livre
text[/show]=<text>
Esta função permite realizar buscas em texto livre (não indexado). Busca a cadeia de caracteres indicada em <text> em todos os campos da base de dados de entrada e seleciona os registros que atendem à busca.
Dica:
É preciso levar em conta que a comparação que se realiza em texto livre pelo parâmetro text= distingue maiúsculas de minúsculas, portanto Water não é o mesmo que water. Exemplo:
mx cds text=water iso=Saída.iso now -all
O exemplo realiza uma busca e exporta os registros encontrados para um arquivo ISO-2709.
Parâmetro text/show
text/show
O parâmetro text/show somente exibe a informação do registro e campo do qual a recuperação foi feita. Mostra duas linhas, uma que contem o número de registro, etiqueta, ocorrência onde aparece o texto buscado; a segunda linha apresenta a ocorrência completa onde se encontra o texto buscado.
Exemplo:
mx cds text/show=water now Saída em tela: mfn 56|tag 69|occ 1|water 69 «Paper on: <regime of waters><sediment transport><deltas>»
Indica que o registro mfn=56 contem a cadeia de caracteres water na primeira
ocorrência do campo com tag 69.