Skip to main content

Reification

Reification is the process of making an abstract concept concrete. In conceptual and data modeling, this process would mean taking something abstract like the notion of a relationship and viewing it as an entity: converting an idea into a logical or conceptual thing. By doing this, you can programmatically manipulate the abstract concept and attach additional information to it. Reification is to express something using a programming language so that it can be manipulated and treated by that language: so, expressing something using the Resource Description Framework (RDF) so that it can become treatable.

Examples

  • Expressing parent-child (isA) relationships: You can describe this relationship in the abstract concept of a tree and then construct a Tree object to express it, thus reifying the abstract concept of this tree-like relationship into a manipulatable Tree object.
  • Expressing group-membership relationships: You can have group (Committee) and individual (Person) classes with abstract concepts that describe the relationship (Membership) between the two. To reify this, you would declare a method (isMemberOf) that states if a Person instance is a member of a Committee, thus making explicit and manipulatable the abstract notion of a group-membership relationship.

Further Resources