Property First Design – Dave McComb

 We’ve been experimenting lately with something we’re calling “Property First Design.”  We’ve been noticing a kind of a slow unfolding of an idea that seems to be at the center of ontological design. 

In a traditional (relational or object oriented) design it is quite normal, in fact encouraged by the design methodologies to start your design with entities or classes.  Once you have your classes you can start putting properties (relationships and/or attributes) on them.  Indeed in a traditional design there isn’t much else you could do, because there would be no place to put the properties.

So, with Semantic Technologies properties are first class objects.  We could start with the properties.  But old habits die hard.  If you’ve been doing traditional design for decades, as we have, the habits are ingrained.  You will design the classes and add the properties to them.

There’s nothing wrong with that per se, but it blinds you to what could be.

We’ve been experimenting a bit with forcing ourselves to consider properties at least on a par with if not superior to classes.

Besides just the idea that it is probably worthwhile to challenge your own habits there is another reason to look at the problem differently.  With Semantics we’re in the business of attempting to generate consensus by leveraging a small number of shared concepts.  There is a rich pallet of options to do that when defining a class, but precious little when defining a property.  In other words it is possible to define a class in terms of other classes and properties, but you pretty much have to agree on the meaning of properties “out of band.”

An ontology with a lot of properties is one that you have to learn by either reading the comments or hoping there is a high correspondence between the label and what was intended. That’s our motivation for rethinking how we look at and approach ontological design.  In the next installment we’ll look at a couple of approaches we tried. 

Your rating: None Average: 4 (5 votes)


Semantics is in predicates

Music analogy is very good and accurate: nature of music is time, and rhythm is a main element to convey this. Of course, intervals are important to shape the rhythm.

But what is the nature of semantics? I think the space and time relationships, and very similar to the music, relationships is dominating concept and not the entity / class for semantics. More over, ontological hierarchy could be derived out of relationships entirely. Read more on this at

Predicate-centric Design

In my work with ontological models, it was not until I understood this simple but important fact that it all started to come together.

Those familiar with music theory know of the concept ‘interval’. In composition, an understanding of intervals in relationship to one another is much more important than individual notes.

If you then explore the field of system science or cybernetics, modeling complexity has everything to do with relationships. (The works of Gregory Bateson, Edgar Morin, Heinz von Forester, etc)

As you say, you really have to adopt a different world view in order to ‘see’ the richness of relationships. Given the general biasing toward ‘things’ in our everyday language, you almost have to over emphasize relationships until it just becomes natural. Rests and intervals matter as much to the musical composition as the notes themselves. 🙂

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <p> <span> <div> <h1> <h2> <h3> <h4> <h5> <h6> <img> <map> <area> <hr> <br> <br /> <ul> <ol> <li> <dl> <dt> <dd> <table> <tr> <td> <em> <b> <u> <i> <strong> <font> <del> <ins> <sub> <sup> <quote> <blockquote> <pre> <address> <code> <cite> <embed> <object> <strike> <caption> <iframe>
  • Lines and paragraphs break automatically.
  • HTML tags will be transformed to conform to HTML standards.
  • Images can be added to this post.
  • You may insert videos with [video:URL]

More information about formatting options

This process helps prevent spam.
Copy the characters (respecting upper/lower case) from the image.