akivela wrote:Hi Athanassios
As associations are hyper-edges, it is rather trivial to transform a set of occurrences into a single association. Looking at your first example, Athanassios (p1) is 44 years old and his first name in Greek is Αθανάσιος would turn something like :....
Hi Aki,
perhaps I should make my question more clear. With the latest implementation of Wandora, I would like to view, on your graph panel, an alternative model that ACCURATELY expresses ALL the info that is included in my examples.
Let me start with the first example, of your reply. Wandora does not allow to define a topic with an identifier that uses UTF-8 characters e.g. "Αθανάσιος" and of course you cannot use them as arguments in Associations. You are also missing the type of property, AGE, in the first two associations, Perhaps you would turn that example of yours into something like :.....
- Code: Select all
[val03 : VAL = "44" @"val3"]
[val04 : VAL = "<p>is 44 years old </p>" @"val4"]
[val09 : VAL = "Αθανάσιος" @"val9"]
[val00 : VAL = "Athanassios" @"val0"]
hasProp ( nassos:AGENT, AGE:PROPERTY, INT:DTYPE, val03:VAL, NOW:TIME, YR:UNIT )
hasProp ( nassos:AGENT, AGE:PROPERTY, STR:DTYPE, val04:VAL, NOW:TIME, HTML:ENC, EN:LANG)
hasProp ( nassos:AGENT, FNAM:NAM, STR:DTYPE, val09:VAL, TXT:ENC, GR:LANG)
hasProp ( nassos:AGENT, FNAM:NAM, STR:DTYPE, val00:VAL, TXT:ENC, EN:LANG)
But that requires to express data values as topics and even if we do that, we still need a container to store the value and the only available is the Base Name construct or the Alternative Name. But suppose I want to store the content of a long html document, then I am forced to store that under the Topic Map Name construct. Perhaps there is a more elegant solution with the current implementation. Is there one ?
The second thing I would like to comment on your reply about example 1 is that it does not represent accurately the model of my example 1. You will probably see my point of view if you try to add another observation of age property. e.g.
[valA : VAL = "20"]
[valB : VAL = "<p>was 20 years old </p>"
hasProp ( nassos:AGENT, AGE:PROPERTY, INT:DTYPE, valA:VAL, PAST:TIME, YR:UNIT)
hasProp ( nassos:AGENT, AGE:PROPERTY, STR:DTYPE, valB:VAL, PAST:TIME, HTML:ENC, EN:LANG)
It is not clear that these two realizations represent one observation of the age and the other two another observation. You will also face that problem if you try to visualise example2 but with the two alternative representations, textual AND numeric ON THE SAME GRAPH.
Therefore I think a better model would be
- Code: Select all
hasProp (p1:AGENT, a1:AGE)
hasReal (a1:AGE, INT:DTYPE, val03:VAL, NOW:TIME, YR:UNIT)
hasReal (a1:AGE, STR:DTYPE, val04:VAL, NOW:TIME, HTML:ENC, EN:LANG)
hasProp (p1:AGENT, n1:FNAM)
hasReal (n1:FNAM, STR:DTYPE, val09:VAL, TXT:ENC, GR:LANG)
hasReal (n1:FNAM, STR:DTYPE, val00:VAL, TXT:ENC, EN:LANG)
Where you distinguish property observations from property realizations. I think you have started following that kind of modeling when you were forced to use your multiproperty role to express example2. But I think it is far more elegant, expressive, and clear when you use
- Code: Select all
hasProp (p1:AGENT, a2:AGE, h1:HEIGHT)
hasReal (a2:AGE, INT:DTYPE, val07:VAL, PAST:TIME, YR:UNIT)
hasReal (a2:AGE, TXT:DTYPE, val08:VAL, PAST:TIME, STR:ENC, EN:LANG)
hasReal (h1:HEIGHT, INT:DTYPE, val05:VAL, cm:UNIT)
hasReal (h1:HEIGHT, TXT:DTYPE, val06:VAL, STR:ENC, EN:LANG)
and finally look at the beautiful shape of the graph and the clear sharing of the property for the two agents p1, p2 at example3
- Code: Select all
hasProp (p1:AGENT, h2:HEIGHT)
hasProp (p2:AGENT, h2:HEIGHT)
hasReal (h2:HEIGHT, INT:DTYPE, val01:VAL, NOW:TIME, cm:UNIT)
hasReal (h2:HEIGHT, TXT:DTYPE, val02:VAL, NOW:TIME, STR:ENC, EN:LANG)
All these and the ltm code can be found at my web site for the R3DM at
http://neurorganon.org/mw/index.php?title=R3DM_in_TMDMIn case you manage to visualize the above in a more elegant, expressive, accurate way, I will be happy to examine your alternative on a Wandora Graph panel please.
Kind regards