Tuesday, January 3, 2012

How Many Attributes Do I Have?

Characteristics of a concept - its attributes - are central to definitions.  But to what extent should the characteristics of a concept be listed in its definition?  Should it be few, or some, or as many as possible?  As a step in beginning to answer that question, I think that we need to ask if we can reliably determine all the characteristics that a concept possesesses.  And I now intend to see if I can answer that question by finding out if I can list all the attributes that I possess.

I am aware that I am an instance and not a concept (at least a general concept).  However, I would submit that there is a prima facie case that I should be able to provide a list of my attributes.   If such a list could be produced, then we couldn see if the attributes apply to the concept I am an instance of (humans).  We could then move on to figuring out what attributes should or should not be included in a definition.  But, if I cannot even reliably figure out what attributes I have, then I may have difficulties I have not yet recognized in the method I have chosen to get answers to the questions I am posing.

It is easy to start listing out all the physical characteristics I possess: height, weight, eye color, and so on.  I could add some non-material ones too, such as age, and IQ score.  However, from my experience as a data modeler and developer, these seem rather trivial.  I have come across many examples of database tables such as Customer, where I could conceivably be represented by a record.  These tables have columns (representing attributes) for e.g. Customer Lifetime Value, Customer Sales Year to Date, Customer Average Order Size, and so on.  I would guess that every company for which I am a customer maintains such attributes to describe me. 

Actually, I am guessing.  I know I possess a height, weight, eye color, etc, because I know what these attibutes are and I know I possess them.  However, when it comes to a company of which I am a customer, say, Big Box Super Store, it is not so clear.  Specifically: (a) I do not really know what attributes Big Box Super Store considers I have; and (b) I do not know how Big Box Super Store defines each of these attributes. 

Many of the Customer tables I have seen have had hundreds of columns (attributes).  Some have had thousands.  At this scale, even when working with these tables it is difficult to keep track of all the attributes they are representing.  Admittedly, the tables were not always designed well, and included columns that represented attributes that were not truly part of Customer.  But even allowing for this, the scale is still great.  Furthermore, Big Box Super Store is not the only company I buy from.  I probably have a similar relationship with about 50 other companies.  So the total number of attributes I have as a result of these relationships is certainly in the thousands, maybe in the tens of thousands.

It could be argued that many of these attributes are really the same.  Suppose Big Box Super Store calculates Customer Lifetime Value the same way as Hardbitten Liquors (of which I am also a customer).  Then, are we talking about one attribute or two?  As a practical problem, however, I cannot give an answer to this because I do not know how each company is calculating the attribute each calls "Customer Lifetime Value", or how each defines this attribute.

What I strongly suspect is that I carry around with me a vast burden of attributes that companies, government agencies, educational institutions, and other organizations have heaped on me, mainly without my consent, and certainly without my knowing what they are.  Not as many as the grains of sand on the seashore, or stars in the night sky, but enough to wonder at.

So the answer to the question posed in the title is that I cannot reliably say how many attributes I have, but it must be a vast number, and some of them are likely to be outside my range of understanding.  Does this present an issue for definition work?  I think it does.  It suggests some kind of need for scoping.  It also suggests that I appear in different ontologies, and that my definition in each may vary.  But the Muse of Blogging now decrees an end to the current post, so these topics will have to be taken up when Her inspiration returns.       


  1. I see two issues in your blog. First of all, there is the difference between me as an entity, and the roles that I play. Most of the examples are attributes of my role as a customer.

    That doesn't deny, however, that there is a difference between essential attributes (is that what Aristotle called them?) and accidental attributes. A definition should have two parts: what is the class of things the term belongs to, and what essential characteristics distinguish it from other members of the class?

    Person is tricky, though, because there are different contexts. Fundamentally,it is equivalent to the term "human being" and equivalent to "homo sapiens". This is distinguished from "homo erectus" by having a more developed brain.

    But the point is, biology is not the context where it comes up in modeling. So, simply stating the equivalent of its being a "human being" works in most cases.

    As for attributes, it most of the ones we cite ("height", "weight", etc.) are inherent in people, but only by virtue of the fact that we have physical manifestations.

    To get to more fundamental attributes, we'd probably have to wander into religion.

    In the business context, probably the only ones of significance are location (not really attributes of person, however), and the physical dimensions we've mentioned. You mentioned IQ, but the problem is that,while it is significant to your persona and work qualifications (cf. politicians)it's not frequently captured.

    You've opened an interesting topic. I'd love to see how other people react.

    Dave Hay

  2. I react by saying please read my 2 part blog post here...

    (as reprinted here on ArchitectsZone..
    http://architects.dzone.com/articles/not-all-object-properties-are-0 )