14 March 2010

Alice in FluidDB

“And how exactly like an egg he is!” Alice said aloud, standing with her hands ready to catch him, for she was every moment expecting Humpty Dumpty to fall. This seemed like a noteworthy observation to Alice so she decided to record it in FluidDB. She wrote out a neat little tag saying

alice/appearance="looks exactly like an egg"

and then carefully tied it to “Humpty Dumpty” in FluidDB. Because Alice was a very logical little girl, and wanted to be very sure that it would always be clear what each of her observations pertained to, she was careful to ensure that she only attached her tags to objects with the correctly normalized about tags for the precise things she wanted to annotate. She checked and was pleased to see that the about tag for Humpty Dumpty read precisely

fluiddb/about="person:Humpty Dumpty"

so she felt secure in the knowledge that not even the Red Queen would ever be able to change the meaning of this object.

Alice fell into conversation with Humpty Dumpty, but he kept misinterpreting her meaning, which was most vexing to Alice, for she tried to be precise when she spoke. Unfortunately, the conversation seemed to be turning into an argument about which were better, birthday presents or unbirthday presents.

“—and that shows that there are three hundred and sixty-four days when you might get un-birthday presents,” said Humpty Dumpty.

“Certainly,” said Alice, trying to be agreeable.

“And only one for birthday presents, you know. There’s glory for you!”

“I don’t know what you mean by ‘glory,’ ” said Alice.

Humpty Dumpty smiled contemptuously. “If I were as ignorant as you, I shouldn’t go around proclaiming it to the world,” he said. “Why don’t you look it up in FluidDB? Haven’t they taught you how to find the meanings of words at your school?”

“Of course they have!” replied Alice, and then continued, not entirely truthfully: “I was just about to do that.”

She consulted FluidDB and found the word:en:glory object, which, as everyone knows, is the canonical FluidDB object for the english word ‘glory’. She was pleased to see that it had tags from several respected authorities tied to it. Alice went straight to the oed.com/definition tag, which was typeset very elegantly in Times Roman.


It read:

glory. 1. n. Renown, honorable fame; fit subject for boasting; adoring praise (see GLORIA); resplendent majesty, beauty &c.; heavenly bliss and splendour (go to ~y,, die; send to ~y, joc. kill); exalted or prosperous state in his ~y); halo of a saint &c. 2. v.i. Take pride (in) be proud (to do). ~y -hole (sl.), untidy room, drawer, &c.

She glanced at the definitions from the Chambers dictionary (chambersharrap.co.uk/definition), the Collins dictionary (collinslanguage.com/definition) and even the Webster’s (merriamwebster.com/definition), just in case usage was different in America, but they all seemed to be in excellent agreement.

“I don’t know why you’re wasting your time looking at those,” said Humpty Dumpty. “You won’t find the definition there.”

“But you told me to!” Alice replied.

“I suggested you consult FluidDB”, said Humpty Dumpty. “But you have to look in the right place.”

“I am looking in the right place,” said Alice. “I’m looking at definitions from all the main dictionaries for the word ‘glory’.”

“But you wanted to know what I meant by glory,” said Humpty Dumpty, now adopting a slightly lecturing tone. “And to do that, you have to look up my definition.

“I thought of that,” said Alice, triumphantly. “But you don’t have a definition for ‘glory’: look for yourself”. She offered FluidDB to Humpty Dumpty, with her finger helpfully pointing the object with fluiddb/about="word:en:glory". Humpty Dumpty merely stared, imperiously.

“I most certainly do!” Humpty Dumpty said with finality. “But if you would only listen, that’s not the object I keep it on.”

Alice was becoming deeply confused. “Well where do you keep it?” said Alice.

“Here”, said Humpty Dumpty, pointing to a different object entirely. And sure enough, there was a hand-written tag humptydumpty/definition="a nice knock-down argument".

“Why on Earth would you keep your definition of glory there?” asked Alice. “Why, that object doesn’t even have an about tag!”

“Oh I don’t hold with about tags”, said Humpty Dumpty. “Any FluidDB object will do for me because when I use an object, it means just what I choose it to mean—neither more nor less—and this is the object I use to define ‘glory’.

“But how do you know which object corresponds to which thing?” asked Alice, with a growing sense of horror.

“Well, first of all, I have an exceptionally good memory,” said Humpty Dumpty. And I recall very precisely that I put my definition of ‘glory’ on the object with the UUID 3d6550a5-7ded-8f54-7041-16f0acdc4f42. “Secondly, you will find that my definition of any particular word is usually attached to an object with a Red Queen royal/word tag on it.”


Alice looked at the tags on the object Humpty Dumpty had pointed to, and sure enough there was a RedQueen/royal/word tag on it. She could hardly contain herself now. “But the RedQueen/royal/word tag on the object you pointed to says “croquet“, she said.

Humpty Dumpty adopted a serene expression. “It may very well say ‘croquet’ now,” he said, “that is not my concern; I assure you that when I tagged it, that object’s RedQueen/royal/word tag was definitely set to ‘glory’. The Red Queen can change her tags any time she likes, you know. After all, she is a Queen.”

Alice did a quick fdb-search to see whether the the Red Queen had a royal/word tag whose value was glory. The results were almost too much for a nice, logical girl like Alice to bear. She found that there were no fewer that three FluidDB objects with RedQueen/royal/word tags set to glory. One of them was the object for the word “dragon” (fluiddb/about="word:en:dragon"), and two others were on nasty grey objects with no about tags at all. Alice quickly wrote out an observation tag and attached it to the Humpty Dumpty object. It read

“Uses words to mean whatever he chooses them to mean. Does record definitions of his words, but on the wrong objects using unreliable conventions that are subject to change beyond his control. This makes it very hard for a logical person to know how to understand what he means by anything!”

Alice also had a quick look at the Red Queen’s other tags. She noticed that all of the Red Queen’s tags were under a single royal sub-namespace, which struck her as rather redundant. She also noticed, with alarm, that the Red Queen’s most used tag was beheading. “Oh dear,” though Alice. “It looks as if the Red Queen is quite as fond of beheading people as is the Queen of Hearts.” Alice hardly dared examine her own user object (fluiddb/about = "Object for user alice"), for fear that a RedQueen/royal/beheading tag might have appeared on it since she last looked.

Alice was just about to add a third of her tags (rating="most unsatisfactory") to Humpty Dumpty when a heavy crash shook the forest from end to end . . .

With apologies to Lewis Carroll.

No FluidDB objects were harmed during the production of this article.


  1. This is fantastic. Well done.

    I think you meant "no fewer than three FluidDB objects with RedQueen/royal/word tags set to glory."

    about --> royal

  2. Hi, thanks for this. You say "canonical FluidDB object for the english word ‘glory’" are these canonical descriptors like "word", "person" described anywhere?

  3. Terrell: many thanks. And you are, of course, exactly right. Fixed now.

  4. Ali: well, in this case, they're not described anywhere yet, because I just made them up. The person one clearly won't do in this form at all as is purely illustrative. The word (and in particular word:en form) might well be a workable convention. I am trying to do three things in terms of conventions like these:

    1. The article at http://abouttag.blogspot.com/2010/03/about-tag-conventions-in-fluiddb.html is an attempt to collect together (english) descriptions of about tag conventions and, to a lesser extent, recommendations on normalization/coninicalization.

    2. The library python module described in the article http://abouttag.blogspot.com/2010/03/abouttag-package-for-normalizing.html provdes code to produce about tags in the various formats, including (optional, on-by-default) normalization.

    3. I'm also thinking about some kind of schema for documenting the conventions in FluidDB itself. But I haven't got a proposal yet.

    If Ali is Ali Afshar, I should say that your fom code helped me settle on a structure for the abouttag package and I just copied your license etc. So thanks.

  5. Glad FOM helped, but really you guys are blazing the trail, and carrying us in your wake.

  6. I have a lot of sympathy for Humpty's position. To me one of the most intriguing things about FluidDB is that objects themselves are just things to hang attributes from. Terry compared this to Kant's noumenon (thing-in-itself) which is unknowable except insofar as we can sense through phenomena (the analogue of attributes).

    Alice seems to take a more Platonic view, with objects as ideals that we all share and collectively describe.

    But how can two people know for sure they're sensing the same underlying thing?

    Having a canonical naming convention seems very authoritarian in this decentralized age. Shouldn't we leave shared meaning to be socially constructed? If we find that we are both tagging an object but our meaning is diverging, surely we can agree to disagree and one or both of us move our tags elsewhere. (There must be a clever analogy to a grin without the cat...)

  7. @patrick.surry: Well, no one's forcing you. you can be as Humpty-like as you like. You just run the risk (unless you restrict yourself to trusting only your own tags) that the identification of your object becomes non-unique or changes. Perhaps you tag an object because someone tagged it Nelson Mandela and later you'll come back and it will have become Adolph Hitler. The about tag gives you something a bit more solid to hang on to, and for other people to hang on to, because of its uniqueness and immutabilty.

    I'm not sure I think that conventions are any more authoritarian than agreeing to use the same words to facilitate communication. Like Humpty Dumpty, you can choose to use "glory" to mean"a proper knock down argument if you like"; but I think you might find that not many people understand you.

  8. 幸福是人人都要,又怎麼可能都歸你所有?要知道這世界幸福本來就不多 ..................................................