| <list> UNION <list> (* unione *)
| <list> INTERSECT <list> (* intersezione *)
| <list> DIFF <list> (* differenza *)
- | <list> SORTEDBY <order> <function> (* unione lista ordinata secondo
- ordine e valore funzione *)
| SELECT <rvar> IN <list> WHERE <bool> (* selezione *)
| EXISTS <rvar> IN <list> WHERE <bool> (* esistenziale *)
| USE <list> POSITION <svar> (* unione lista backward *)
| SUPER (* proprieta' e super-proprieta'
di *)
-<order> := DESC (* ordinamento decrescente *)
- | ASC (* ordinamento crescente *)
-
<rvar> := <not-reserved-identifier> (* variabile per risorse *)
<svar> := $ <not-reserved-identifier> (* variabile per stringhe *)
"body" parte compresa fra le occorrenze di ":/" e "#1" escluse
"fragment" parte successiva all'occorrenza "#1"
+- FUTURO: operatore di ordinamento sul risultato finale della query.
+ <query> SORTEDBY <order> <function> (* unione lista ordinata secondo
+ ordine e valore funzione *)
+ <order> := DESC (* ordinamento decrescente *)
+ | ASC (* ordinamento crescente *)
+ DTD:
+ <!ENTITY % order '(ascendant|descendant)'>
+ <!ELEMENT Query %queryexpr;>
+ <!ELEMENT SortBy (Query, SortField)>
+ <!ELEMENT SortField %functexpr;>
+ <!ATTLIST SortField
+ order %order; #IMPLIED>
+- RILASSAMENTO degli operatori UNION e INTERSECT. Operatori fuzzy con
+ introduzione di pesi associati ai risultati.
\ No newline at end of file