User Attributes or Tags?

There is nothing stopping you from doing that. Well, there is one thing stopping you – the fear of painting yourself into a corner.

You’ve written a lot in this thread. Have you started adding notes, and adding tags or user attributes to them? What have you found so far?

Chances are, you won’t paint yourself into a corner. Tinderbox gives you the tools to transform your data from one representation to another. You probably don’t know how to do that yet, and that’s fine. That’s why we have the forum, so people who have gone through this before you can help you out.

tags-to-attributes.tbx (54.4 KB) is an example TBX I put together that shows one way to convert tags to attributes and back.

I did that in five minutes. Could you do that on your own today? Maybe, maybe not, I don’t know. But what you could definitely do is share a document that includes the two notes – without stamps – and ask, “How do I get from the first note to the second note?” And a few people here will pop in to show you how to make it happen.

What’s better from a philosophical standpoint, tags or attributes? I don’t know, and I don’t think it really matters. What matters is that you try something and make progress, and learn from it. Which one do you have a hunch about? Go that direction. Then come back here and share your experience. What do you like about the approach you tried? What don’t you like about it? Ask for suggestions on how to proceed?

I’ve been in your shoes, and here’s how I would apply that thinking to this specific situation:

What I tried: Thinking upfront about which approach I should use
What I liked about it: Taking some comfort that I’m doing things the right way
What I didn’t like about it: The nagging feeling that I’ll run into a wall; avoiding my work by overthinking my approach.
What should I do now?
Suggestions from people who have done this before: You have some good ideas. Try them out. Come back and ask for help when you feel a different kind of stuck.


I love this! I definitely have not thought about it in these terms before. I find it hard to get away from the hierarchical thinking.

I keep a lot of stuff in boxes at home, so this could be helpful. Plus it’s called Tinder"box"…

Thank you for the contribution. The example tbx is a nice demonstration of what is possible. I’m sure I shall use it for something.

Lots of software is described as “flexible” or something of the sort, but I am beginning to realise just HOW flexible Tinderbox is, and what can be achieved with it. This is one of the problems: you have to use it a certain amount to realise that the paradigms you had before don’t necessarily apply, and you have to put in a LOT of work to find out what is possible. It’s one of those cases in which you find that your imagination comes up short.

I actually have a few small databases that I’m working with at the moment. In most of them I have adopted a habit of including tags in the text of the note (typically by typing something like “tags = §freud §superego §morality_principle”). It is a much quicker way of adding tags than pulling down the attributes window, but you don’t get the benefit of using the Attribute Browser to find them.

SO – I’m sure I could copy the “tags” from the text and insert them into the $Tags slot – but how?

I look forward to the next instalment of the discussion!

Here’s my take on that:

text-to-tags.tbx (61.1 KB)

The tag-matching feels a bit hacky and I’m sure could be done better. I also think there’s probably a way to find notes that are fully-tagged (i.e. all §tags have been added to $Tags) and notes with missing tags (i.e. some §tags haven’t made it into $Tags yet). But this is what I’ve got for now :slight_smile:

Extraordinary. I never cease to be amazed at how quickly people can put together these things. Thank you. I will store that up for future use. Mind you, any time I see code with the letters “var” in it, I know I am out of my depth. I took an aptitude test for programming about forty years ago, and they told me to forget it!

Cheers.

2 Likes

I’m coming to see that the totemic nature of ‘tags’ is as unhelpful as that of hierarchies. ‘tags’ are simply a more recent word for ‘keywords’ (probably as it sounded cooler and less techie) which are themselves simply metadata. A value in $MyString as as much of a ‘tag’ as a value in $Tags. But, of course, if tags are the only metadata one has been offered for keywording one’s data it’s unsurprising that it is hard to see the bigger picture.

Using tags, or rather one bucket for all your custom metadata, isn’t necessarily helpful. Mapping tags ingested form other apps to $Tags can be initially useful to provide coherence/sync. But beyond that, or if generating data from scratch within Tinderbox, there’s little upside to putting all your metadata in one field/attribute/list. If you take someone’s contact info, you wouldn’t put all the address, zip, phone, email, etc., into tags as it would make it far harder to find, say, that person’s street. In the same way, gaining comfort to split out your tag-bucket into discrete attributes (of ‘fields’ if you prefer) starts to unlock being able to do more with your information.

To close, their’s nothing wrong with sticking to hierarchical outlines and single-tag-bucket practices learnt in the past. However, to move beyond that limited practice is to take the training wheels of your use of Tinderbox. A database would want you to define all your attributes before you know you really need them. A strength of Tinderbox is you don’t need to do that - add new attributes as you see a need for them.

1 Like

Very interesting. I like the contact info analogy. I like the idea of letting the structuring information emerge from the data as it is perused and understood, too. It reminds me of doing qualitative studies in psychology. Miles and Huberman, where are you?

This is the point I tried to make above

Indeed, we’re in agreement and I don’t think I’m altering your point but expanding another aspect of it. sme folk only know of ‘tags’ as other tools only offer one method of keywording.

To help flesh out some ideas expressed above, I’ve shown some of my own current early stage work. To avoid thread drift it is in a separate thread, here.

Pat,
I cant run the stamp… is this only working in version 7? (I still use version 6)

The whole discussion is interesting… but I wonder if useful, except that it proves we love exchanging. :slight_smile:

Examples might help. I associate User attributes to some permanently recurring dimensions that I need in order to characterize the notes, that permit me to move the notes, to classify the note, whereas “tags” allow to indicate information related to the content of the note. Tags are as variable and diverse as the words in the content of the note. Tags are like underlined words in a book.

User attributes are like the handles of the tools you use to move the notes, whereas tags are part of what you shovel around. They just indicate content. Thinking is wometimes about moving things around (user attributes help in doing this) whereas keywords are like flags, colors, visible signs about the content.

And then you have Mark Andeson who has better examples…

Having said that here is a question: how can I collect all the tags in one key attribute (called “Tags”) in one list of all tags?

For example:
Note 1
Tags : Blue, fruits, painting

Note 2
Tags : Yellow, fear, policy, workers union

Result of the exercise would be a list of tags :
Blue
fear
fruits
painting
policy
workers union
Yellow

Any suggestions ? Probably involves exporting this user attribute.

Collecting all tags into a master list could be done with an agent that queries every note with non-null tags, and adds them to a set attribute in a certain “collector” note.

Use the values() operator, which is designed for just this. See the linked article for detail on the scope/syntax. But for instance, to get a Set (i.e. no dupes) of all $Tags values:

$MySet = values("Tags");

I often use this pattern. Let’s say I want to make a new note for each discrete author in references I’ve imported. I Make a new note and give it this rule;

$Text=values("Authors").isort.format("\n");

That gives me a sorted list of names, one per line in the note’s text. I can then explode the note and I’ve then got a note per author. I use this a lot in my own research to drill down into metadata (i.e. user attributes) I’ve populated when working on the source data (e.g. the example I posted a link to a few posts above). In that case I’ll definitely be extracting a list of editors in a thread so I can compare it with a list (from another TBX) so I can identify which participants are also bot operators.

2 Likes

Yes ! Thank you Mark. VERY useful indeed.

In addition to the suggestions from Mark A and Paul W, here is another case where the attribute browser can be your friend. Using just the data for Note 1 and Note 2 that you set out above, plus a note Note 3 that shares some tags with the previous two, with literally two minutes’ work you can put together this attribute browser view. It groups all the notes under each relevant tag. At the same time, it can show you, in the column on the right, the complete list of tags that each note has.

This is showing you something different from the list that @mwra produced, but it’s another way to look at the data. But it might also be a way of getting toward what you’re looking for. (If you have three minutes rather than two, you can refine this in all sorts of ways – sorting the items in each grouping, ruling-in or ruling-out certain tags or certain items; etc.

This obviously becomes more useful when you have not three items but many hundreds – for instance, when I’m working on an article or book, I assign theme or topic categorizations to material as I receive it. Then when I am working on the writing, I can see which 8 or 10 references, out of hundreds or thousands in total, are relevant to the theme I’m working on. And in other columns in the view I can see what other categorizations I’ve given those items, what the original source was, whether I’ve included them in previous drafts, etc.

I’d agree with @PaulWalters and add also that it’s ‘tags AND’ not ‘tags OR’ and - as I write @JFallows sensible prod for using the under-used Attribute Browser (for which feature I think we owe @JFallows some kudos).

Initially @MartinBoycott-Brown probably does want to use $Tags - or any Set-type attribute (so as to avoid duplicate values). Tip: for a new project of this type don’t over-look ‘suggested values’ to speed data entry. It I was using this close reading technique, I’d consdier using some scipt (outside TB) that I could import and explode to give me notes equating to chapter/page/numbered paragraphs. By using structured input and prototypes I could seed some of the details @PaulWalters sensibly suggests.

The or-vs-and part relates to teasing nuance out of initial tags. So, you mention ‘deportment’ so for all notes with the the $Tags ‘deportment’ you might want to revisit, using the back-references @PaulWalters suggests to add nuance as to why/how this subject is mentioned. This extra finesse of metadata makes it easier to find ‘deportment’ mentions for reason X vs. reason Y - something tags likely won’t give.

1 Like

I find all these discussions really interesting. Here’s an additional real-world illustration, of the way I use the sainted Attribute Browser to manage large quantities of thematic data:

As I’ve been collecting data for a writing project, I can assign values to it on the way in – themes I think it applies to, cities it applies to (for a city-structured narrative), whether or not it’s been used, etc. And of course as I go along I can add, subtract, shift, change, discard, etc those assignments.

Then I can use those various categorizations to affect how I see the info. Here is the view I might want to look at while writing about particular cities:

The really important thing about the attribute browser is that, in adjoining always-available tabs, I can see the same corpus of data sliced-and-diced in a different way, For instance, at the next tab over, I have the data grouped not by city name but by theme:

In this case I’ve added columns to show what city the various items are about.

And in others tabs I have it grouped by chapter organization; or by whether it’s used or not; or whether it’s “Hot” and important to add; and so on.

This is a very powerful feature of the multifaceted Tinderbox array of tools.

1 Like

@JFallows — when you finish that book, how about a “life with Tinderbox” book? :smile:

1 Like

Right now I’m in the “no one should EVER write a book about ANYTHING” post-traumatic stage. But…

2 Likes

Well then at least an article! “How I learned to stop worrying about my data and love the attribute browser” :stuck_out_tongue:

1 Like

This is a 100% crucial point. The built in attribute $Tags is just one of a virtually limitless set of categorizing terms you can create if and as you need them. Some I’ve used over the years include $Themes, $Points, $Contexts, $MainPoints, $ArticleThemes, $RefThemes, $BlogThemes, etc. They can be strings; they can be sets. They can come, and they can go.

In some programs, the existence of one built-“Tags” category would imply that you needed to cram every possible identifying trait into that. In Tinderbox it’s very different. In fact I realize just now that I’ve never actually used the built-in $Tags attribute. Have just created a range of to-my-taste counterparts.

3 Likes