Un'espressione di ricerca consente la definizione di un atom di ricerca e di combinarlo ad altri per personalizzare l'estrazione dati.
Le stesse sono codificate in JSON come oggetto con una proprietà funzione che ne definisce gli altri parametri.
Esistono 3 espressioni di base, corredate da espressioni specifiche per le tipologie di campi.
Le 3 espressioni di base sono:
Le espressioni per tipologie di campi contengono tutte un parametro “field” con il codice del campo, un campo funzione (dipendente dalla tipologia del campo), ed eventualmente un campo “value” con il valore da confrontare.
Ad esempio:
Cerca i vini del brand X o che inizino per Barolo e che siano più recenti del 2016:
{
"func":"or",
"fields":[
{
"func":"or",
"fields":[
{
"func":"eq",
"field":"brand",
"value":"1fedee56-4841-4a17-b867-b339849c9b37",
},
{
"func":"startswith",
"field":"name",
"value":"Barolo"
}]
},
{
"field":"year",
"func":"gt",
"value":2016
}
]
}
Allo stato attuale non sono previsti confronto tra campi (es: cerca i vini dove prezzo di acquisto > prezzo di vendita), allo stato attuale non sono previste verifiche di inclusione/non inclusione tra campi che non siano identificativi. L'integrazione di tali funzioni e le loro limitazioni saranno oggetto di successive analisi.