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
- Berners-Lee (2017) “Reifying RDF (Properly), and N3”
- Reification (Wikipedia)
- Techopedia (2022) “Reification”