I will use these principles for dealing with synsets.
1) treat synset as a normal concept.
the only thing awkward about this -- synsets don't have names.
2) use mKR/mKE automatic name generation for synsets
3) use mKE/mKE rootname [or classname] as the unique
concept name for subsumed concepts. This is analogous to
the situation in the UNIX file system, e.g., where there are
many "bin" directories, but each is uniquely identified by
its rootname, as in
/bin bin\
/usr/bin bin\usr\
/usr/local/bin bin\local\usr\
4) since synsets are defined "bottom-up", I will use
[abbreviated] classname, instead of rootname.
Example: WordNet 2.1 "dog" synsets
http://mkrmke.org/test/dog.mkr [see summary below]
dog concepts
dog\ss_2519
dog\ss_2523
dog\ss_2527
dog\ss_2531
dog\ss_2535
dog\ss_2539
dog\ss_2543
dog\ss_2547
$ ke -s
ke$ let echo = off;
ke$ do read from test/dog.syn done;
ke$ every ss isu synset; { $ss isall ?; };
ss_0191 isall [object,subject];
ss_2519 isall [dog,Canis familiaris,domestic dog];
ss_2523 isall [dog,frump];
ss_2527 isall dog;
ss_2531 isall [dog,bounder,heel,blackguard,cad,hound];
ss_2535 isall [hot dog,dog,wienerwurst,weenie,hotdog,wiener,frankfurter,frank];
ss_2539 isall [dog,detent,pawl,click];
ss_2543 isall [dog,firedog,andiron,dog-iron];
ss_2547 isall [go after,dog,chase,tail,track,tag,give chase,trail,chase after];
ke$ exit;
ke$ every ss isu synset; { $ss isall ?; };
ss_0191 isall [object,subject];
ss_2519 isall [dog,Canis familiaris,domestic dog];
ss_2523 isall [dog,frump];
ss_2527 isall dog;
ss_2531 isall [dog,bounder,heel,blackguard,cad,hound];
ss_2535 isall [hot dog,dog,wienerwurst,weenie,hotdog,wiener,frankfurter,frank];
ss_2539 isall [dog,detent,pawl,click];
ss_2543 isall [dog,firedog,andiron,dog-iron];
ss_2547 isall [go after,dog,chase,tail,track,tag,give chase,trail,chase after];
ke$ exit;
$
Dick McCullough
http://mkrmke.org
http://mkrmke.org