Last week, while working in a domain that was entirely new to me, I found myself using the word concept in domain conversations more often than I expected. For example, I said something like “So, you mentioned forward exposure cover, which I understand a bit. It seems to be about covering financial risks? Explain this concept of covering risk a bit more”. When I realised that “forward exposure cover” was a type in the domain (i.e. a class of sorts), I thought about “risk cover” again. Is risk cover and forward exposure cover of the same type?
I like (want?) to think not. I have spent a lot of time in recent months working with metadata and modeling of data itself. In that time, I came across the concept of “concept”. A concept is an abstract thing. It cannot be manifest in anyway and is the metadata of concrete things. It is not part of the type hierarchy but information about the type itself. Concepts are part of an abstract general domain, perhaps not tied to any domain at all. But types are part of a specific domain.
So risk exposure is the metadata concept of the type forward exposure cover (in the domain of foreign exchange). At the same time, risk exposure is the metadata concept of the type loss coverage (in the short term insurance domain). Both types model vastly different things in vastly different domains but share the same purpose, i.e. have the same concept. The concept risk exposure (in my layman’s terms) deals with danger or possibility of financial loss which holds true of loss coverage and forward exposure cover.
Subconsciously, I was looking for something that I was familiar with to understand something that was completely new. Sometimes, finding the concept for a type may be better than finding a metaphor in our quest for gaining deeper insight. This may be more valuable if the concept is the metadata for another type in a domain in which we already have deep(er) insight.