]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/mathql/grammar.txt
Modified Files:
[helm.git] / helm / mathql / grammar.txt
index 48d3a63836fbefbaf6a1b4fc4a267293a929d5ea..979b4c549cd2f21fb0437ea10f4e18086769cd64 100644 (file)
@@ -16,21 +16,25 @@ MATHEMATICAL QUERY LANGUAGE (MathQL)
        |  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>           
+       |  <relation> <quoted-constant-string> <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 *)
 
+<relation> := RELATION                        (* relazione (proprieta') *)
+          |  SUBRELATION                      (* proprieta' e 
+                                                 sotto-proprieta' *)
+          |  SUPERRELATION                    (* proprieta' e 
+                                                 super-proprieta' *)
+
+<vvar-list> := <vvar>
+            |  <vvar> , <vvar-list>
+
+
 <bool> := ( <bool> )                           (* parentesizzazione *)
        |  TRUE                                 (* vero *)
        |  FALSE                                (* falso *)
@@ -45,10 +49,6 @@ MATHEMATICAL QUERY LANGUAGE (MathQL)
                                                  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 *)
@@ -56,9 +56,10 @@ MATHEMATICAL QUERY LANGUAGE (MathQL)
              |  <rvar>.<vvar>                      (* variabile per insieme
                                                      stringhe, relativa a 
                                                      riferimento *)
-            |  <function> <quoted-constant-string> <rvar
+            |  <function> <quoted-constant-string> <string-set
                                                   (* applicazione di funzione
-                                                     specificata a riferim. *)
+                                                     specificata a riferimento
+                                                     o insiemi di rif. o var*)
 
 <quoted-constant-string-list> := <quoted-constant-string>
                              |  <quoted-constant-string> , <quoted-constant-string-list>                                                 
@@ -67,11 +68,11 @@ MATHEMATICAL QUERY LANGUAGE (MathQL)
 <function> := FUN                         (* funzione generale *)
           |  <property>        
 
-<property> := VALUEOF                     (* funzione proprieta': restituisce
+<property> := ATTRIBUTE                           (* funzione proprieta': restituisce
                                              suoi  valori*)
-           |  SUBVALUE                    (* restituisce valori proprieta' e 
+           |  SUBATTR                     (* restituisce valori proprieta' e 
                                              sotto-proprieta' di *) 
-           |  SUPERVALUE                  (* restituisce valori proprieta' e 
+           |  SUPERATTR                           (* restituisce valori proprieta' e 
                                              super-proprieta' di *)
 
 <rvar> := @ <not-reserved-identifier>          (* variabile per riferimento *)
@@ -81,7 +82,7 @@ MATHEMATICAL QUERY LANGUAGE (MathQL)
                                                  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" 
@@ -109,6 +110,18 @@ MATHEMATICAL QUERY LANGUAGE (MathQL)
   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 *)
@@ -121,4 +134,6 @@ MATHEMATICAL QUERY LANGUAGE (MathQL)
   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