X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmathql%2Fgrammar.txt;h=5622761a3381db959570f04bbd778f456bc1d31f;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=48d3a63836fbefbaf6a1b4fc4a267293a929d5ea;hpb=083c4f014ec4ed17b33fef4a01efca2c72d85b06;p=helm.git diff --git a/helm/mathql/grammar.txt b/helm/mathql/grammar.txt index 48d3a6383..5622761a3 100644 --- a/helm/mathql/grammar.txt +++ b/helm/mathql/grammar.txt @@ -16,21 +16,33 @@ MATHEMATICAL QUERY LANGUAGE (MathQL) | SELECT IN WHERE (* selezione *) | LET BE IN (* assegnazione a set-var in contesto *) - | RELATION ATTR - (* unione insieme risorse in + | LET BE IN (* assegnamento a value-var + in contesto*) + | RELATION ATTR + (* unione insieme risorse in relazione specificata con le risorse in set, ognuna con attributi (ATTR) *) - | OFTYPE (* unione oggetti in base a - classi RDF *) - | OFSUPERTYPE (* unione oggetti in base a - classi e loro superclassi *) - | OFSUBTYPE (* unione oggetti in base a - classi e loro sottoclassi *) | UNION (* unione *) | INTERSECT (* intersezione *) | DIFF (* differenza *) + := "" (* relazione (proprieta') *) + | SUB (* proprieta' e + sotto-proprieta' *) + | SUPER (* proprieta' e + super-proprieta' *) + + := + (* relazione (proprieta') *) + | "/" + (* insieme di stringhe: + proprieta' strutturata *) + + := + | , + + := ( ) (* parentesizzazione *) | TRUE (* vero *) | FALSE (* falso *) @@ -45,20 +57,19 @@ MATHEMATICAL QUERY LANGUAGE (MathQL) insiemi stringhe *) | EX (* existential on attributes of references *) - - := - | , - - := {} (* insieme vuoto*) - | (* stringa singoletto *) - | {} (* insieme stringhe *) - | REFOF (* insieme riferimenti *) - | . (* variabile per insieme - stringhe, relativa a - riferimento *) - | - (* applicazione di funzione - specificata a riferim. *) + := ( ) (* parentesizzazione *) + | {} (* insieme vuoto*) + | (* stringa singoletto *) + | {}(* insieme stringhe *) + | REFOF (* insieme riferimenti *) + | . (* variabile per insieme + stringhe, relativa a + riferimento *) + | + (* applicazione di funzione + specificata a riferimento + o insiemi di rif. o var*) + | (* vvar introduced by LET *) := | , @@ -67,12 +78,11 @@ MATHEMATICAL QUERY LANGUAGE (MathQL) := FUN (* funzione generale *) | - := VALUEOF (* funzione proprieta': restituisce - suoi valori*) - | SUBVALUE (* restituisce valori proprieta' e - sotto-proprieta' di *) - | SUPERVALUE (* restituisce valori proprieta' e - super-proprieta' di *) + := ATTRIBUTE (* funzione proprieta': restituisce + suoi valori (anche strutturati) + (e delle sotto-proprieta' o + super-proprieta' *) + := @ (* variabile per riferimento *) := $ (* variabile per insiemi @@ -81,7 +91,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" @@ -98,7 +108,7 @@ MATHEMATICAL QUERY LANGUAGE (MathQL) - 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 (): +- Possibile FUN (): 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 @@ -109,6 +119,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) +- invece di come argomento di 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 l'utente e' libero + di passare direttamente le stringhe dei riferimenti. - Il costrutto di ordinamento: SORTEDBY (* unione insieme ordinato secondo valore funzione e ordine *) @@ -121,4 +143,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