I'm working on Lab information management software, and one of the features people would like to have is to be notified when a sample they are waiting for analysis on is complete, or when there is more than one person working on the same sample,
for the tests entered by other users to show up instantly on their screen.
So I may create a simple topic graph such as /LABs/Sample.28192/TestSet.19281/Test.82171, where Samples contain many sets of tests which contain many tests. The numbers here would be the the primary keys for each entity.
The User A and User B, working in the same test set would both be subscribed to /LABs/Sample.x/TestSet.x, and User C, who wants to be notified when this sample is complete, would be subscribed to /LABs/Sample.x.
User A finishes entering results in Test 82171 and completes it. Their client publishes a message to the /LABs/Sample.28192/TestSet.19281/Test.82171 topic. The server then multi-publishes this message to each topic higher up in the graph. So User B
with their subscription at the TestSet level gets notified, causing his client to refresh that test, and user C at the Sample level also gets notified.
In this approach, name conflicts are not an issue. The root topic /LABs/ acts as a base namespace to separate different applications using the same Laharsub server, and within each application the primary keys prevent collision.