TagglyTagging is great but doesn't achieve the actual parent-child
child-parent relationships I'm trying to implement. I definitely like
the idea of extensible tiddler meta data. So, I assume then that this
is too great a feature for me to code myself, given the very fact that
I had to ask in the first place. Ok, thanks folks.
Okay, here's my problem. Without TagglyTagging, I can create sibling
relationships between tiddlers merely by giving each mutually shared
tags. However, I'd like to form this sibling relationship directly.
Oftentimes I know two or more pieces of information are related at the
sibling level but I don't want to waste time trying to figure out how
to represent in tag form what makes them siblings. Second, while I
would like the option of being able to "label" and/or describe the
sibling relationship, I don't want to be forced to do this straightaway
or even necessarily ever. Now, made even more obvious with
TagglyTagging in place, creating sibling relationships essentially
requires the creation of a parent tiddler (the tag) and then linking up
children to this parent. My problem with this is that, even though I
love and use the option, most of the time I'm merely creating empty
tiddlers in order to represent a relationship between other,
content-ladden tiddlers. This is very wasteful and a big hassle when I
merely want to make bunches of two or three tiddlers into groups of
siblings. I'd end up polluting my list of tags with tons of useless
tags I only created to link up two tiddlers at a time. You see what I
mean? Creating relationships via tags isn't the same as parent-child,
child-child, etc... Additionally, when I create a tiddler, I'd like to
be able to immediately setup/input the parents and children of that new
tiddler. This would save me so much time. Additionally, I like tags as
descriptive labels and TagglyTagging for parent-child relationships but
I'd like tiddlywiki/the-interface to discriminate between the two. So
keep the tag cloud for "labels" and TagglyTagging for hierarchy. I hope
that made sense...
So, maybe my needs are three-prong and much simpler than I make them
sound. 1) I need a more convienent interface for editing/creating a
tiddler's parents and children: I should be able to do this within the
tiddler's edit interface via, at a min., two input fields. 2) I want to
be able to directly link tiddlers together as siblings without having
to link them to mutually-held tags or Taggly parents and I want the
display of tiddlers to reflect their sibling relationships in a clearly
distinguishable manner (i.e. color coded). 3) I want tags to be
separate from TagglyTags so that I can use them solely for labelling
tiddlers. The interface should then reflect the difference between tags
and TagglyTags: tags would re-assume the tagcloud position and
TagglyTags would stay in their current positions. And everyone goes
home happy---OK, at least I go home happy! :-)
I read part of the thread Simon referred me to (thanks Simon) and I
would like to say yes, separate tags from the axis of the Taggly
structure. I wish to use both. Thanks you two...
If there could be a tiddlywiki interface to allow for the creation and
representation of complex (relatively speaking) relationships like
this, I would be _VERY_ happy. Jolly day...
:-) Are you two related? Daniel and Simon...
So, maybe my needs are three-prong and much simpler than I make them
sound. 1) I need a more convienent interface for editing/creating a
tiddler's parents and children: I should be able to do this within the
tiddler's edit interface via, at a min., two input fields. 2) I want to
be able to directly link tiddlers together as siblings without having
to link them to mutually-held tags or Taggly parents and I want the
display of tiddlers to reflect their sibling relationships in a clearly
distinguishable manner (i.e. color coded). 3) I want tags to be
separate from TagglyTags so that I can use them solely for labelling
tiddlers. The interface should then reflect the difference between tags
and TagglyTags: tags would re-assume the tagcloud position and
TagglyTags would stay in their current positions. And everyone goes
home happy---OK, at least I go home happy! :-)
P.S. Yes Daniel, it is an interface issue and yes I would like to be
able to specify the type of parent relationship, but I wouldn't want to
be forced to do this is all.
In fact, I'd like to be able to create
very descriptive relationships between tiddlers if I like. For example,
if I create person A and person B and I want the relationship of B to A
to be that of anger (person B is a source of anger to person A) then
I'd like to be able to specify this. Note that this relationship could
be mono-directional in the sense that even though B angers A, person A
is not necessarily a source of anger to person B: B ---angers--> A but
A --does not anger--> B
If there could be a tiddlywiki interface to allow for the creation and
representation of complex (relatively speaking) relationships like
this, I would be _VERY_ happy. Jolly day...
I know of (and use, and own) one piece of software that can handle
relation ships pretty much like you want.
It allows named link types, and a map view, and alos export to other
formats.
Check out Tinderbox at URL:http://www.eastgate.com/tinderbox/
DaveG
In my own case, I've worked with both RDF and Topic Maps, and that
experience is what inclines me toward the tagging version of TW-GTD as
opposed to the outline version (as I see them).
In RDF you can say that A is connected to B, but you have to make an
additional statement if you want to say that B is connected to A. And
every connection is something you yourself define.
In Topic Maps, you associate A and B together, specifying their roles
in the association, and the association is bi-directional.
That is, in RDF, if you say "Shakespeare wrote Hamlet," you also have
to say the opposite, that "the author of Hamlet is Shakespeare." In
Topic Maps, you have an author/composition association and Shakespeare
plays the role of author and Hamlet of composition.
I bring all this up in order to say that first of all, making a tiddler
to connect two other tiddlers is what you have to do if you want to go
beyond the mere (and unnecessary) assumption that the relationships
implied by tags are parent-child relationships. That tiddler then
represents (or describes) the type of relationship you establish
between your two tiddlers.*
If I want to associate my two tiddlers Hamlet and Shakespeare, I give
them both an Author-Composition tag, and one gets an Author tag and the
other Composition. And Shakespeare gets a Hamlet tag and Hamlet gets a
Shakespeare tag.**
And if I want to also connect Shakespeare and Othello, I only need add
an Othello tag to my Shakespeare tiddler (and Othello is constructed
like Hamlet, above).
A Topic Map engine (which TW is not) lets you locate all the tiddlers
that play the role of composition and which have an author-composition
association with Shakespeare. That provides what is being called here a
sibling relationship. Hamlet and Othello are related by virtue of their
both having a relationship to Shakespeare.
But you could be less complete that this. You could just create a
tiddler that specified the sibling relationship, which would not be a
binary or a directional relationship. Hamlet, Othello and King Lear
would all have the tag WrittenByShakespeare. I don't think of this as
"WrittenByShakespeare is the parent of Hamlet, Othello and King Lear,"
because to me the tiddler WrittenByShakespeare is created to describe
the relationship. But if you insist on seeing all tags through the lens
of parent-child relations, then that would be how you express it.
It may not be what you were thinking of, digitalorganics, but you can
do what you want.*** And, short of going to a Tinderbox type
application, or a Topic Map-based solution -- of which Ceryle, not yet
released (http://www.altheim.com/ceryle/) would be the prime candidate
-- I don't think you're going to find a neater solution.
Still, by applying tags in this way, you can follow links and see all
the connections that you've put in. When you're at Shakespeare, you can
see that it has an Author tag, and when you follow the link to Hamlet
you can see that it has the Composition tag, and since they both have
the Author-Composition tag, you have all the pieces you need.
Roger Sperberg
----
* I may not have made it clear, but just as I say here you have to make
a tiddler to represent the relationship, that's what you have to do in
RDF and in Topic Maps. So TW tags and relationships just have to do
what any relationship technology does -- create a connector at the same
level as the things being connected.
** And here, of course, we had to create three tiddlers, Author,
Composition and Author-Composition. And to repeat, the tags for Hamlet
would be Shakespeare, Author-Composition and Composition; for
Shakespeare they would be Hamlet, Author-Composition and Author.
*** To use your example, Shakespeare is A, Hamlet is B, the association
tiddler is something like CausesAngerIn, and you create two additional
tiddlers, AgentOfAnger and SeatOfAnger. The tags for B would be A,
CausesAngerIn and AgentOfAnger, while for B the tags would be A,
CausesAngerIn and SeatOfAnger.
And if you wanted a mutual association, you just make one role tiddler
and a tiddler with a bidrectional association -- say, John and Mary as
your A and B, loves as the association and lover as the role tiddler.
So the tags for John are Mary, loves and lover, and for Mary the tags
are John, loves and lover.
I just wrote a long post about this, but I wanted to say that this
comment is why I went to such lengths.
Really, I would say that tagging is specifically what rules IN the
capability to give a category to the relationship. But for that, see my
post above.
And I won't dispute that doing things the way I describe might be
annoying. But that just leaves you with two choices, live with it or go
to some other kind of software.
Daniel Baird wrote:
> As soon as you want to give a category to the relationship, or have
> any other info associated with it, that rules out tagging.
I just wrote a long post about this, but I wanted to say that this
comment is why I went to such lengths.
Really, I would say that tagging is specifically what rules IN the
capability to give a category to the relationship. But for that, see my
post above.
I bring all this up in order to say that first of all, making a tiddler
to connect two other tiddlers is what you have to do if you want to go
beyond the mere (and unnecessary) assumption that the relationships
implied by tags are parent-child relationships. That tiddler then
represents (or describes) the type of relationship you establish
between your two tiddlers.*
If I want to associate my two tiddlers Hamlet and Shakespeare, I give
them both an Author-Composition tag, and one gets an Author tag and the
other Composition. And Shakespeare gets a Hamlet tag and Hamlet gets a
Shakespeare tag.**
As to Daniel's question to me: if A and C both are related at the
sibling level to B, does that make them (A and C) also siblings?
Daniel, my thinking has long been that whatever gives the user the most
flexibility is the answer. So if it's not a big trouble, I'd like to
have the option of choosing, as a user, whether I want the relationship
to be commutative or not. Hidden and autogenerated internal tag names
is indeed one way to achieve commutative relationships I think. I'll
have to give that some more thought...