Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assiomi "nascosti" #128

Open
valeriosantarelli opened this issue Jan 10, 2021 · 2 comments
Open

Assiomi "nascosti" #128

valeriosantarelli opened this issue Jan 10, 2021 · 2 comments
Assignees
Labels
enhancement New feature or request user-experience
Milestone

Comments

@valeriosantarelli
Copy link
Contributor

Riporto qui un suggerimento di Maurizio:

Una importante caratteristica che manca in EDDY attualmente è la possibilità di scrivere (testualmente!) assiomi in OWL associati ad una classe. Purtroppo le annotazioni non sono na soluzione. E nemmeno la possibilità di esprimere gli assiomi in modalità visuale. Sto proprio riferendomi alla possibilità di scrivere assiomi che NON voglio visualizzare nel diagramma. Questa possibilità è utile, in particolare, quando dovessi disegnare tanti archi instance-of di tipo meta (ovvero istanze di meta-classi). Questi archi complicherebbero molto il diagramma, probabilmente senza dare molta informazione. Averli come assiomi basterebbe.

Ho avuto modo di parlare di questo suggerimenti con @mnamici qualche giorno fa, riporto qui le considerazioni fatte per allinearci anche con @NonnonePalmiro :

  • La soluzione proposta da Maurizio, ovvero di scrivere gli assiomi testualmente in OWL, non sembra per niente una buona idea. Introduce tutta una serie di problemi di consistenza tra quello che è disegnato e quello che è scritto, è contrario proprio allo spirito di Eddy, e introduce anche il problema della verifica sintattica degli assiomi.
  • Mi sembra di capire (ne ho parlato anche al telefono con Maurizio) che il problema fondamentale siano due aspetti legati principalmente legati alle istanze e agli attributi: (1) potrebbero essere molti per una data classe, quindi incasinano il diagramma; (2) sono scoccianti da disegnare (soprattutto nel caso degli assiomi in effetti lo sono). In effetti questo tipo di osservazioni erano emerse in passato anche da Antonella (che aveva avuto a che fare con ontologie con molte istanze,) e da ISTAT.

Se questo è il problema, si potrebbero adottare le seguenti due soluzioni:

  1. Implementare un meccanismo di filtri (identico a quello che c'è in Grapholscape) che permette di nascondere determinati elementi all'interno dei diagrammi (ad esempio proprio gli attributi, oppure solo i range degli attributi, oppure le istanze). Ovviamente questi filtri non verrebbero salvati nel file .graphol. Bisognerebbe giusto valutare la possibilità di considerarli quando si esporta un diagramma in jpeg o pdf.
  2. Aggiungere la funzione "Compose" anche alle Classi (ora c'è solo per ruoli e attributi): questa funzione dovrebbe permettere di aggiungere, con un menù tipo form per intenderci, uno o più attributi oppure una o più istanze. Ovviamente la form per l'aggiunta degli attributi potrebbe essere più sfaccettata di quella delle istanze (potrebbe permettere di scegliere il range tra i datatype di default, e di scegliere tra tipizzazione/partecipazione obbligatoria/tutt'e due). Ovviamente i nuovi attributi o le nuove istanze verrebbero piazzate nel modo che ci sembra più opportuno a prescindere da com'è fatto il diagramma, poi l'utente se li sposta.

Intravediamo controindicazioni a queste due soluzioni?
Coinvolgo tutti così ci ragioniamo.

@NonnonePalmiro
Copy link
Contributor

Scrivere gli assiomi in formato owl secondo me è follia (come li gestiamo se le OWL API non sono sempre attive?)
Per quanto riguarda le altre opzioni:

  • La (2) non credo possa migliorare la visualizzazione del grafo visto che archi e nodi sarebbero disegnati come sempre ma attraverso uno shortcut (che potrebbe comunque avere senso naturalmente...)
  • La (1) credo sia implementabile abbastanza facilmente se il filtro è solo sui tipi di arco o di nodo (nel senso puoi solo nascondere tutti gli archi instanceOf e gli individui a prescindere dai nodi su cui insistano). Anche se naturalmente bisognerebbe stare attenti a tutta una pletora di casi particolari (ad esempio voglio che siano sempre nascosti sia l'arco che l'istanza o ci sono casi in cui voglio nascondere solo l'arco? E se alcuni di questi individui sono utilizzati per definire un assioma di tipo oneOf?)

Io umilmente nell'ontologia consip (visto che c'erano molti instanceOf) ho fatto dei grafi a parte replicando i nodi...

@valeriosantarelli
Copy link
Contributor Author

Riportiamo questa issue a quanto faremo per le keys (vedere issue #187 ).
Cerchiamo di trovare una soluzione unica per nascondere determinati tipo di assiomi (dandone evidenza in qualche modo nel widget Info ad esempio), e la adottiamo sempre.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request user-experience
Projects
None yet
Development

No branches or pull requests

4 participants