assume(Fact).argomenti:
un tipo o una relazione di SI-NET.
Due fondamentali usi di "assume" esistono: -creazione di oggetti (concetti,regole) nella tassonomia. in questo caso il predicato in "Fact" corrisponde a uno dei tipi di oggetti SI-NET -un elemento dell'insieme(generic_concept,individual_ concept,generic_role,instance_role)- e il suo argomento corrisponde al nome dell'oggetto creato -creazione di relazioni strutturali tra gli oggetti della taxonomia. In questo caso il predicato al posto di "Fact" corrisponde a una relazione delle relazioni SI-NET -un elemento dell'insieme (has_super_concept, individuates,modifies,satisfies,differentiates,has_role,has_vr, has_number,has_modality,has_value)- e i suo argomenti corrispondono ai nomi di oggetti collegati dalle relazioni create. In entrambi questi casi , se l'operazione ha successo, la funzione ritorna il messaggio che il nuovo fatto e' assunto
>>generic_concept(g_conc) -?assume(modifies([g_role1,g_conc1],[g_role2,g_conc2])). >>modifies([g_role1,g_conc1],[g_role2,g_conc2]). add(Obj,Val,Attr)
add(Obj1,Obj2,Val,Attr)argomenti:
dipendono dagli attributi) -Val,e' il valore dell'attributo -Attr,atomo che definisce il tipo di attributo aggiunto a Obj
con valore "Val". I due piu' importanti usi di "add" sono: -modifica concetti descrittivi. In questo caso,gli attributi che possono essere sommati a Obj sono regole (generiche o istanziate).Le regole sono create e collegate ai concetti. -modifica regole descrittive. In questo caso, gli attributi che possono essere sommati a Obj1 sono aspetti (modality,number,vr o value),Obj2 e' il concetto associato alla regola Obj1. Modalita' e numero hanno sempre dei valori (al limite i valori predefiniti che possono essere modificati tramite cambiamento. Se il V/R deve essere sommato , il concetto definito come valore di restrizione e' creato e collegato alla regola.
>>generic_role(g_role) >>has_role(g_conc,g_role) -?add([g_role,g_conc],val,vr). >>generic_concept(val >>has_vr([g_role,g_conc],val) change(Obj1,Obj2,Val,Attr)argomenti:
-Val, nome del nuovo valore -Attr,l'aspetto che deve essere cambiato
Il valore sostitutore puo' essere locale,o ereditato o predefinito a uno.
>>has_modality([g_role,g_conc],val). clear_alldescrizione:
clear_net(Net)argomento:
differentiates([GRole1,GConc1],[GRole2,GConc2]).argomenti:
-GConc1,GConc2,nomi di concetti generici
GRole1 differenzia Grole2 direttamente,con un collegamento differenziato tra gli ogetti,o per mezzo di una catena di regole dove e' presente alla fine un collegamento differenziato.
-? (success) -? differentiates (g_role1,g_conc1,X,g_conc2). X=g_role2 generic_concept(GConc)argomento:
X=g_conc1 X=g_conc2 generic_role(GRole)argomento:
has_inherited_role(Conc,Role)argomenti:
-Role,nome di una regola
Se Conc e' generico allora tutte le regole dei super_concetti di Conc sonoereditate. Se Conc e' individuale allora tutte le regole dei concetti individuate direttamente o no per Conc sono regole ereditate.
No solutions -?has_inherited_role(g_conc2,X). X=g_role1 has_modality([GRole,GConc],M)argomenti:
-GRole,nome di una regola generica. -M,valore di Modality
La generica regola GRole ha modality M. ll possibile valore di modality,ordinati per importanza sono: opzionale,ereditario,obbligatorio(opt,ine,obl). Sempre la regola generica ha un valore di modality localmente definito o ereditato da super regole. Il valore predefinito e' opzionale (opt). Quando le catene multiple di super regole sono presenti,il principale valore e' ereditario (ine)
X=opt -?has_modality(g_role2,g_conc2,X) X=obl has_number( [GRole,GConc],[Num1,Num2])argomenti:
-GConc,nome di un concetto generico -Num1,e' un numero intero non inferiore a 1 -Num2,e' un numero intero non inferiore a 1 ,o puo' essere messo a "nil"
Num1 e Num2 sono, rispettivamente, il piu' basso e il piu' alto limite dell'intervallo numerico che rappresenta la faccia numerica di GRole Sempre la regola generica ha la cardinalita' localmente definita o ereditata da super regole. Quando sono presenti catene multiple di super regole,l'intervallo corrispondente e' dato dalla intersezione degli intervalli ereditati. Il valore predefinito per Num1 e' 1,per Num2 e' "nil". Num2=nil significa che l'intervallo non ha limite superiore.
X=[1,5] -?has_number(g_role2,gconc2,X) X=[1,5] has_role(Conc,Role).argomenti:
-Role ,nome di una regola.
Role e' localmente collegato a Conc (regola locale),o e' ereditato da un super concetto di Conc. Per ogni catena di regole imparentate ereditariamente con Conc(catena di regole di super concetti di Conc) e' considerata ereditaria la regola piu' bassa. Se Conc e' generico gli e' permesso avere regole generiche o regole istanziate; se Conc e' individuale sono permesse solo regole istanziate. Se entrambi gli argomenti sono inizializzati il sistema risalira' lungo la catena di regole finche' non avra' successo. Invece di, se uno o entrambi gli argomenti non sono inizializzati,il sistema si fermera' nel piu' basso livello della catena.
-? (successo) -?has_role(g_conc2,X). X=g_role3 X=g_role2 has_super_concept(GConc1,GConc2)argomenti:
-GConc2, nome di un concetto generico
I concetti sono collegati direttamenteo per mezzo di una catena di super concetti.
X=g_conc2 X=g_conc1 has_super_role([GRole1,GConc1],[GRole2,GConc2])argomenti:
-GConc1,GConc2,nomi di concetti generici
GRole1,GRole2. GRole2 e' una super regola di GRole1. Le regole sono collegate direttamente o per mezzo di una catena di collegatori speciali (modification o differentation).
X=g_role1. Y=g_conc1. has_value(IRole,IConc)argomenti:
-IConc, nome di un concetto individuale.
Il valore di una regola istanziata e' unico,ed e' definito solo localmente (collegamenti ereditari non esistono). has_vr([GRole,GConc],Vr)argomenti:
-GConc,nome di un concetto generico -Vr, nome di un generico concetto
Il concetto Vr e' un valore di restrizione (V/R) di GRole. Sempre la regola generica ha un insieme di valori di restrizione specificati dalle catene di super regole che definiscono l'ereditarieta' delle regole. Vr puo' essere definita localmente (solo una) o ereditata lungo ogni catena di super regole che appartengono a GRole. E' considerato un valore di restrizione applicato a GRole ogni V/R appartenente all'eredita' di Grole (in altre parole,non necessariamente il piu' basso valore lungo la catena di super regole).
X=vr_1 -? has_vr(r_role1,g_conc1,X) X=vr_1 individual_concept( IConc)argomento:
individuates(IConc,GConc)argomenti:
-GConc , nome di un concetto generico
istance_role(IRole)argomento:
is_concept(Conc)argomentio:
is_net(File)argomento:
Questo predicato puo' essere utile per conoscere i nomi delle reti salvate su file, senza dover uscire per andare su un programma shell. is_role(Role)argomento:
load_net(File)argomento:
Prima di caricare e' necessario cancellare la rete presente in memoria modifies([GRole1,GConc1],[GRole2,GConc2]).argomenti:
-GConc1,GConc2,nomi di concetti generici
GRole1,GRole2. La regola GRole1 modifica la regola GRole2. Le regole sono direttamente collegate da una relazione di modifica, o indirettamente da una catena di soli collegamenti modificanti. E' impossibile definire regole di modifica con i nomi degli stessi modificatori.
-? (success) -?modifies(g_role2,g_conc2,X,Y). X=g_role1 Y=g_conc1 pretty_print(Obj)argomento:
-Se Obj e' un concetto,i super concetti e le regole sono visualizzati: per ogni regola ereditata e' visualizzato il concetto ereditato da Obj; per ogni regola locale la super regola di chiusura dell'albero è descritta con l'aspetto localmente assegnato. -Se Obj e' una regola visualizza il concetto associato e la super regola che chiude l'albero e il valore dell'aspetto localmente definito. satisfies([IRole,IConc],[GRole,GConc]).argomenti:
-IConc, nome di un concetto individuale -GRole,nome di una regola generica -GConc,nome di un concetto generico
IRole soddisfa GRole direttamente per mezzo del collegamento di sodisfazione o non direttamente tramite una catena di relazioni tra regole. In questo caso, IRole soddisfa una generica regola GRole1 che ha GRole come super regola. save_net(File)argomento:
La rete copiata su File e' caricabile tramite load_net. working_net(Net)argomento:
E' possibile creare o usare piu' di una sola rete nei file. Con questo comando e' considerato attivo solo la rete Net Il valore predefinito per la rete e' "r1".
|