assume(Fact).

argomenti:

    -Fact , nome di una struttura prolog della quale il funtore rappresenta

    un tipo o una relazione di SI-NET.

descrizione:

    Fact e' una informazione che deve essere sommata al 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

esempi:

    -? assume(generic_concept(g_conc)).

    >>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:

    -Obj,Obj1,Obj2,sono nomi di oggetto (uno o due nomi,

    dipendono dagli attributi)

    -Val,e' il valore dell'attributo

    -Attr,atomo che definisce il tipo di attributo aggiunto a Obj

descrizione:

    l'attributo dei tipi "Attr" e' aggiunto alla struttura descrittiva degli oggetti

    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.

esempi:

    -? add(g_conc,g_role,generic_role).

    >>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:

    -Obj1,Obj2, la regola e il concetto associati

    -Val, nome del nuovo valore

    -Attr,l'aspetto che deve essere cambiato

descrizione:

    Val diventa il nuovo valore dell'aspetto "Attr" della regola.

    Il valore sostitutore puo' essere locale,o ereditato o

    predefinito a uno.

esempio:

    -?change([g_role,g_conc],val,has_modality).

    >>has_modality([g_role,g_conc],val).


clear_all

descrizione:

    cancella tutte le reti in memoria


clear_net(Net)

argomento:

    Net,nome di una rete

descrizione:

    cancella la rete "Net".


differentiates([GRole1,GConc1],[GRole2,GConc2]).

argomenti:

    -GRole1,GRole2,nomi di regole generiche

    -GConc1,GConc2,nomi di concetti generici

descrizione:

    GConc1,Gconc2 sono i concetti rispettivamente associati a GRole1,GRole2.

    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.

esempi:

    -? differentiates (g_role1,g_conc1,g_role2,g_conc2).

    -? (success)

    -? differentiates (g_role1,g_conc1,X,g_conc2).

    X=g_role2


generic_concept(GConc)

argomento:

    -GConc,nome di un concetto generico

descrizione:

    GConc e' un concetto generico.

esempi :

    -? generic_concept(X).

    X=g_conc1

    X=g_conc2


generic_role(GRole)

argomento:

    -GRole,nome di una regola generica.

descrizione:

    GRole e' una regola generica.


has_inherited_role(Conc,Role)

argomenti:

    -Conc,nome di un concetto

    -Role,nome di una regola

descrizione:

    Role e' ereditato dal concetto Conc.

    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.

esempi:

    -?has _inherited_role(g_conc2,g_role2).

    No solutions

    -?has_inherited_role(g_conc2,X).

    X=g_role1


has_modality([GRole,GConc],M)

argomenti:

    -GConc, nme di un concetto generico

    -GRole,nome di una regola generica.

    -M,valore di Modality

descrizione:

    GConc e' un concetto associato a GRole.

    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)

esempi:

    -?has_modality(g_role1,g_conc1,X)

    X=opt

    -?has_modality(g_role2,g_conc2,X)

    X=obl


has_number( [GRole,GConc],[Num1,Num2])

argomenti:

    -GRole,nome di una regola generica

    -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"

descrizione:

    GConc e' il concetto associato a GRole.

    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.

esempi:

    -?has_number(g_role1,gconc1,X)

    X=[1,5]

    -?has_number(g_role2,gconc2,X)

    X=[1,5]


has_role(Conc,Role).

argomenti:

    -Conc,nome di un concetto

    -Role ,nome di una regola.

descrizione:

    Role e' una regola del concetto Conc.

    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.

esempi:

    -?has_role(g_conc2,g_role1).

    -? (successo)

    -?has_role(g_conc2,X).

    X=g_role3

    X=g_role2


has_super_concept(GConc1,GConc2)

argomenti:

    -GConc1,nome di un concetto generico

    -GConc2, nome di un concetto generico

descrizione:

    GConc2 e' un super concetto di GConc1.

    I concetti sono collegati direttamenteo per mezzo di una catena di super concetti.

esempio:

    -?has_super_concept(g_conc3,X).

    X=g_conc2

    X=g_conc1


has_super_role([GRole1,GConc1],[GRole2,GConc2])

argomenti:

    -GRole1,GRole2,nomi di regole generiche

    -GConc1,GConc2,nomi di concetti generici

descrizione:

    GConc1 e GConc2 sono concetti rispettivamente associati alle regole

    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).

esempio:

    -?has_super_role(g_role2,g_conc2,X,Y)

    X=g_role1.

    Y=g_conc1.


has_value(IRole,IConc)

argomenti:

    -IRole ,nome di una regola istanziata

    -IConc, nome di un concetto individuale.

descrizione:

    IConc e' il valore di IRole.

    Il valore di una regola istanziata e' unico,ed e' definito solo

    localmente (collegamenti ereditari non esistono).


has_vr([GRole,GConc],Vr)

argomenti:

    -GRole,nome di una regola generica

    -GConc,nome di un concetto generico

    -Vr, nome di un generico concetto

descrizione:

    GConc e' un concetto associato a GRole .

    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).

esempi:

    -? has_vr(g_role2,g_conc2,X).

    X=vr_1

    -? has_vr(r_role1,g_conc1,X)

    X=vr_1


individual_concept( IConc)

argomento:

    -IConc, nome di un concetto individuale

descrizione:

    IConc e' un concetto individuale.


individuates(IConc,GConc)

argomenti:

    -IConc , nome di un concetto individuale

    -GConc , nome di un concetto generico

descrizione:

    IConc individua direttamente il concetto GConc o uno dei suoi subconcetti.


istance_role(IRole)

argomento:

    -IRole ,nome di una regola istanziata

descrizione:

    IRole e' una regola istanziata.


is_concept(Conc)

argomentio:

    -Conc , nome di concetto

descrizione:

    Conc e' un concetto individuale o generico.


is_net(File)

argomento:

    -File, nome di un file

descrizione:

    File e' un file generato do save_net,contiene una SI-NET conoscenza di base

    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:

    -Role ,nome di una regola.

descrizione:

    Role e' una regola generale o istanziata.


load_net(File)

argomento:

    -File, nome di un file

descrizione:

    carica dal File una rete precedentemente salvata.

    Prima di caricare e' necessario cancellare la rete presente in memoria


modifies([GRole1,GConc1],[GRole2,GConc2]).

argomenti:

    -GRole1,GRole2,nomi di regole generiche

    -GConc1,GConc2,nomi di concetti generici

descrizione:

    GConc1 e GConc2 sono concetti rispettivamente associati alle regole

    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.

esempi:

    -?modifies(g_role2,g_conc2,g_role1,g_conc1).

    -? (success)

    -?modifies(g_role2,g_conc2,X,Y).

    X=g_role1

    Y=g_conc1


pretty_print(Obj)

argomento:

    -Obj,nome di un oggetto SI-NET

descrizione:

    visualizza,in una via leggibile,una descrizione della struttura Obj.

    -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:

    -IRole ,nome di una regola istanziata

    -IConc, nome di un concetto individuale

    -GRole,nome di una regola generica

    -GConc,nome di un concetto generico

descrizione:

    IConc e GConc sono i concetti rispettivamente associati a IRole e GRole.

    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:

    -File, nome di un file

descrizione:

    salva la rete attualmente attiva in memoria nel file File.

    La rete copiata su File e' caricabile tramite load_net.


working_net(Net)

argomento:

    Net,nome di una rete

descrizione:

    cambia la rete attiva in memoria.

    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".