Ontological Expressiveness and FOAF

This post on Danbri's Blog highlights an interesting issue in ontological design. Just how specific and expressive do we make an ontology?

TBL has espoused designs that have the "Least Power" which makes them easier to design, implement and use. The sucess of HTTP is a great case in point. As a parallel, in graphic design we have a famous quote about beauty being taking everything out until you can't take anything else out. It's a pretty good philosophy, but like least approached it requires a knowledge of exactly how much is enough and how much is too much. That requires a deep knowledge of how the ontology will be used.

In FOAF, the a single relationship type foaf:knows exists. And most mapping tools I've seen assume a bi-directionality in foaf links - that is if one person lists another as a friend then a back-link is assumed whether or not it actually exists.

Do we want more specificy in foaf relationship types? Perhaps a fuller suite of uni-directional relationship types? In these early stages I'm not sure it's so important to get so specific. Once we get more of foaf:knows relationships then some way to classify these would become more important. For example, Facebook allows an optional level of extra specificity in describing relationship types - that is often necessary given the numbers of friends some people collect in Facebook social networks.

There is some work in this area already: A vocabulary for describing relationships between people

From another perspective, if an enumerated type over a typical dataset forms clusters approaching a single member - and that enumerated type is not meant to be a candidate key and the enumerated label is not naturally a singleton then the enumerated type is probably too specific. (an example of a natural singleton enumeration would be motherof or fatherof.)

And "typical" is the key here. Ultimately it becomes the specialist vs generalist tension that only really gets resolved via de-facto usage.