The “a” in mashup is silent because mashups are missing information that is represented in a topic map by associations.
That isn’t necessarily a criticism of mashups. How much or how little information you represent in any data set or application is up to you.
It is helpful to have a framework for understanding what information you have included or excluded by explicit choice. Why you made those choices or on what basis is entirely up to you.
As of 08-02-2010, there are fifteen definitions of mashup in English reported by define:Mashup in Google.
Most of the definitions of mashup do not exclude (necessarily) what is defined as an association in a topic map, but the general theme is one of juxtaposition of data from different resources.
That juxtaposition leaves the following subjects undefined (at least explicitly):
- role players in an association (play #2)
- roles in an association
- type of an association
Not to mention any TMCL (Topic Maps Constraint Language) constraints on those associations. (Something we will cover on another day.)
You can choose to leave subjects undefined, which is easier than defining them (witness the popularity of mashups), but there is a cost to leaving them undefined.
Defining or leaving subjects undefined is a decision that need to take into account factors such as ease of authoring versus the very real cost of leaving subjects undefined, as well as other factors. Such as your particular project’s requirements for maintenance, semantic integration and interchange.
For example, if the role players (#1 above) are left undefined in a mashup, what are the consequences?
From a topic map perspective, that means the role player subjects are not represented by topics, which means you cannot:
- attach other information about those subjects, such as variant names
- judge whether those are the same subjects as found in other associations
- find all the associations where those subjects are role players (since they are not explicitly identified)
- …among other things.
As I said, you can make that choice but while easier, that is less work, you also get less return from your mashup.
Another choice in a mashup, assuming that you identified the role players as topics, would be to simply not identify the roles they play in the mashup (read association).
If you don’t identify the roles as subjects (represented by topics), you can’t:
- compare those roles to roles in other mashups
- compare the roles being played by role players to roles they play in other associations
- discover associations with the same role players playing the same roles, but identified differently
- …among other things.
Assuming you have defined role players, the roles they play, there remains the type of the association (read mashup), which could help you locate other associations (mashups) that would be of interest to you.
Even if you defined a type for a mashup, I am not real sure where you would put it. That’s not an issue with a topic map association. It has an explicit type.
Mashups are easier to author than associations because they carry less information.
Which is a legitimate choice on your part.
What if after creating mashups we decide that it would be nice to add some more information?
Can topic maps help with that task?
We will take up the answer to that question tomorrow.