| SELECT <rvar> IN <set> WHERE <bool> (* selezione *)
| LET <svar> BE <set> IN <set> (* assegnazione a set-var in
contesto *)
- | RELATION <quoted-constant-string> <set> ATTR <vvar-list>
- (* unione insieme risorse in
+ | LET <vvar> BE <string-set> IN <set> (* assegnamento a value-var
+ in contesto*)
+ | RELATION <refine_op> <quoted-constant-string-path> <set> ATTR <vvar-list>
+ (* unione insieme risorse in
relazione specificata con le
risorse in set, ognuna con
attributi (ATTR) *)
- | <set> OFTYPE <set> (* unione oggetti in base a
- classi RDF *)
- | <set> OFSUPERTYPE <set> (* unione oggetti in base a
- classi e loro superclassi *)
- | <set> OFSUBTYPE <set> (* unione oggetti in base a
- classi e loro sottoclassi *)
| <set> UNION <set> (* unione *)
| <set> INTERSECT <set> (* intersezione *)
| <set> DIFF <set> (* differenza *)
+<refine_op> := "" (* relazione (proprieta') *)
+ | SUB (* proprieta' e
+ sotto-proprieta' *)
+ | SUPER (* proprieta' e
+ super-proprieta' *)
+
+<quoted-constant-string-path> := <quoted-constant-string>
+ (* relazione (proprieta') *)
+ | <quoted-constant-string> "/" <quoted-constant-string-path>
+ (* insieme di stringhe:
+ proprieta' strutturata *)
+
+<vvar-list> := <vvar>
+ | <vvar> , <vvar-list>
+
+
<bool> := ( <bool> ) (* parentesizzazione *)
| TRUE (* vero *)
| FALSE (* falso *)
insiemi stringhe *)
| EX <bool> (* existential on attributes
of references *)
-
-<vvar-list> := <vvar>
- | <vvar> , <vvar-list>
-
-<string-set> := {} (* insieme vuoto*)
- | <quoted-constant-string-set> (* stringa singoletto *)
- | {<quoted-constant-string-set>} (* insieme stringhe *)
- | REFOF <set> (* insieme riferimenti *)
- | <rvar>.<vvar> (* variabile per insieme
- stringhe, relativa a
- riferimento *)
- | <function> <quoted-constant-string> <rvar>
- (* applicazione di funzione
- specificata a riferim. *)
+<string-set> := ( <string-set> ) (* parentesizzazione *)
+ | {} (* insieme vuoto*)
+ | <quoted-constant-string> (* stringa singoletto *)
+ | {<quoted-constant-string-list>}(* insieme stringhe *)
+ | REFOF <set> (* insieme riferimenti *)
+ | <rvar>.<vvar> (* variabile per insieme
+ stringhe, relativa a
+ riferimento *)
+ | <function> <quoted-constant-string> <string-set>
+ (* applicazione di funzione
+ specificata a riferimento
+ o insiemi di rif. o var*)
+ | <vvar> (* vvar introduced by LET *)
<quoted-constant-string-list> := <quoted-constant-string>
| <quoted-constant-string> , <quoted-constant-string-list>
<function> := FUN (* funzione generale *)
| <property>
-<property> := VALUEOF (* funzione proprieta': restituisce
- suoi valori*)
- | SUBVALUE (* restituisce valori proprieta' e
- sotto-proprieta' di *)
- | SUPERVALUE (* restituisce valori proprieta' e
- super-proprieta' di *)
+<property> := ATTRIBUTE <refine-op> (* funzione proprieta': restituisce
+ suoi valori (anche strutturati)
+ (e delle sotto-proprieta' o
+ super-proprieta' *)
+
<rvar> := @ <not-reserved-identifier> (* variabile per riferimento *)
<vvar> := $ <not-reserved-identifier> (* variabile per insiemi
riferimenti *)
-
+- Idea di base: grammatica del linguaggio semplice e permissiva (duttile)
- MEET e' definito come "esiste almeno un elemento che appartiene
all'interserzione tra due insiemi"
- le stringhe sono "case sensitive"
- REF aumenta performance perche' NON accede al data base (costoso).
- l'argomento di PATTERN ha sintassi di una espressione regolare
POSIX 1003.2-1992
-- Possibile <function> (<quoted-constant-string>):
+- Possibile FUN (<quoted-constant-string>):
NAME (* URIREF -> nome_oggetto *)
- MEET aumenta performance nel caso si verifichi (a in S) oppure
(b in S) = ({a,b} meet S) perche' valuta S una volta sola
linguaggio
- EX verfica che la sua condizione sia vera per almeno un insieme di attributi
associato all'URI in rvar
+- Possibili RELATION sono:
+ USE con attributo POSITION (riferimenti backward) e valori MAINHYPOTHESIS,
+ HYPOTHESIS, MAINCONCLUSION, CONCLUSION, BODY
+ USEBY con attributo POSITION (riferimenti forward) e valori MAINHYPOTHESIS,
+ HYPOTHESIS, MAINCONCLUSION, CONCLUSION, BODY
+ CONSTRUCTORS
+ INTHEORY con attributo ITEMTYPE (riferimenti oggetti contenuti in teorie)
+ THEORYREFTO con attributo ITEMTYPE (riferimenti teorie referenti a oggetti)
+- <string-set> invece di <set> come argomento di <function> poiche' la REF non
+ e' piu' restrittiva su argomento/i e quindi e' inutile imporne l'uso quando
+ si passano i riferimenti alle funzioni. Con <string-set> l'utente e' libero
+ di passare direttamente le stringhe dei riferimenti.
- Il costrutto di ordinamento:
<set> SORTEDBY <function> <order> (* unione insieme ordinato secondo
valore funzione e ordine *)
le DC: TITLE, CONTRIBUTOR, CREATOR, PUBLISHER, SUBJECT, DESCRIPTION, DATE,
TYPE, FORMAT, IDENTIFIER, LANGUAGE, RELATION, SOURCE, COVERAGE, RIGHTS,
RIGHTS; and INSTITUTION, CONTACT, FIRSTVERSION, MODIFIED, THEORY
-
+- Il concetto di Classe, sottoclasse, superclasse, puo' essere visto come una
+ particolare proprieta' (type o tipo) di una risorsa, e quindi codificabile
+ da RELATION
\ No newline at end of file