obdasystems / eddy

A graphical editor for the specification and visualization of Graphol ontologies
GNU General Public License v3.0
62 stars 7 forks source link

[FEATURE] Ottimizzazioni del disegno: nodo range invece di inv+domain #211

Closed valeriosantarelli closed 2 years ago

valeriosantarelli commented 2 years ago

Sempre per andare nella direzione di disegnare meno cose possibili, quando ci sono assiomi in cui compare una espressione di classe in cui si fa riferimento all'inverso del dominio di un ruolo, usare direttamente il nodo range.

Ad esempio, prendiamo questo assioma (da Books3):

Author EquivalentTo inverse (actAsAuthor) some Thing

Al momento Eddy disegna questo:

Schermata 2022-06-23 alle 11 35 55

Invece sarebbe molto meglio se disegnasse questo (ovviamente considerando anche l'eliminazione dei owl:Thing citata in #208 ):

Schermata 2022-06-23 alle 11 37 01

sia perchè il disegno è più compatto, sia (soprattutto) perchè poi quando si va a disegnare l'assioma

actAsAuthor range Author

non si deve introdurre un nuovo nodo range, ma si possono utilizzare semplicemente i nodi che già ci sono. In questo caso il disegno di questo secondo assioma non comporterebbe nessuna aggiunta al diagramma, ma se anche l'assioma originale fosse stato un SubClassOf invece di un EquivalentTo, sarebbe bastato mettere la doppia freccia all'arco, senza introdurre nuovi elementi.

In sostanza secondo me noi il nodo inv non dobbiamo usarlo mai quando rappresentiamo espressioni di classe, possiamo sempre usare il nodo range invece di inv+domain. Il nodo inv credo serva disegnarlo solo quando proprio si vuole dire che una object property è l'inversa di un'altra.