Hendrik presenting GTMalpha, Leipzig
At this year's TMRA Hendrik Thomas presented GTMalpha, a proposed graphical notation for Topic Maps. This proposal was born out of his experiences with drawing Topic Maps examples in discussions with his colleagues, where he got fed up with confusion over what the drawings were meant to show. His presentation is essentially a private proposal for GTM level 0.
(I didn't do any live blogging at TMRA this year because I was not up to it, so I thought I'd instead do a series of retrospective posts on things I found interesting at the conference. We'll see how much I'm actually able to cover.)
Hendrik's proposal defines shapes for topics, typing connectors, topic names, occurrences, associations, etc etc, thus allowing diagrams to show example topic maps with no explanatory legend. That should certainly solve the confusion that he's experienced in discussions with others, once they learn the notation. And it has to be said that the notation is pretty straightforward.
The diagram below shows an example taken from the paper. If you start from the "Ilmenau" topic you'll see a type ("town"), a zip code occurrence, a scoped name ("IK"), a PSI ("http://www.ilmenau.de"), and a part-of association with role types. All pretty easy to follow and learn. You'll note that role types are omitted in some cases. In addition, there is a syntax for referring to topics defined elsewhere which I think is a feature that will be needed on both levels. See the paper for the full scoop.
Personally, I think this is workable, but that it needs to be aligned with the GTM level 1 proposal in terms of shapes and so on. Of course, the alignment can be done by changing either proposal. I also think the notation needs more shorthands than it has today. For example, it shouldn't be required to draw types as full topics. For another, it should be possible to use QNames to identify topics the way it's done in the level 1 proposal.
I guess my biggest question here is: why do people think we need a level 0 at all? The reason that's put forward by many people is documentation, by which I guess they mean documentation of an ontology. My answer to that is that both level 0 and level 1 can be used for this. Level 0 can be used for examples, while level 1 shows the schema. This is an important difference, because level 1 actually gives the rules for using the schema, like cardinalities, which cannot really be done in level 0.
This is a discussion I've had many times, but people continue to want a level 0, and the result is that we will have both level 0 and level 1. So far, I think GTMalpha is the best (and most developed) proposal we have for level 0. Looks like it has stirred up some interest, too. Reactions on this welcome, of course.
Read | 2008-10-26 17:30
ISO has been working on creating a graphical notation for Topic Maps for some time now, and now the first proposal for level 1 has been published
Read | 2007-07-05 10:37
Rani Pinchuk - 2008-10-25 04:33:08
I found the suggestion of Hendrik Thomas very nice, and also liked very much the way it was presented: before the presentation started, Hendrik spread around a cheat-sheet for GTMalpha which made the whole presentation much easier to understand.
One concept however, I did not like. I find that "everything is a topic" principle should not be so much stressed in the graphical representation.
In my opinion, an association type, role type, occurrence type, name type or a scope should not be marked by linking those to the actual topic with a line. Instead I would suggest to have a text above or below the line, and that text _refers_ to the typing topic. If it is a scope, I suggest to have that text with a bracket around it.
The diagrams below (which match to certain diagrams of Hendrik from his cheat-sheet) demonstrate this:
- In diagram 6, we can see a topic name "ILMENAU" which is of type "official name", in the "German" scope, and which has a variant in the scope "abbreviation".
- In diagram 10, the occurrence "98544" is typed by "zip code" and scoped by "Germany".
- In diagram 12, the two topics "Ilmenau" and "Thuringia" are associated in association of type "is-part-of", and this association is scoped by "Germany".
- In diagram 13, the roles in the last association are also mentioned.
[LMG: Above is diagram 15a. Below is 15b.]
The main advantage of this suggestion is demonstrated in diagram 15a and diagram 15b: my claim is that diagram 15a is much more readable especially for the novice users who are barely familiar with Topic Maps and GTM. I believe that a main usage of GTM will be to communicate ideas to domain experts who are not familiar with Topic Maps. For those users, a simple line between two ovals is translated almost naturally to an association between two topics.
Other reason to support this suggestion is that it prevents the situation where scopes and topics which type associations, roles, occurrences or names become graphical "hot spots" (that is, many lines go out of those topics). I believe that usually the user is more interested in topics that are players in associations and are "hot spots".