# Object-Role Modeling & Ambiguity — Join Subset Constraints

## A suitable counterexample to the notion that the graphical notation of Object-Role Modeling is unambiguous

--

We take a model for a UoD (Universe of Discourse) where we model the data requirements to store information about Round the World Tickets for an Airline. The scenario is where a person outlines the cities and countries that they would like to visit, and where the data model captures that information and the suitable set of tickets with one or more airlines such that there is a record of the Round the World Ticket that encapsulates that set of tickets.

It is easier to picture the data model as a Graph Schema before we move to the Obect-Role Model, as below:

The Object-Role Model, with associated constraints, is quite complex; and we include 4 suitable Join Subset Constraints.

The topmost Join Subset Constraint, while syntactically valid is ambiguous in two ways:

1. It seems to lack one of the required 2 links indicating the first argument and second arguments of the first sequence of the topmost Join Subset Constraint (only one is visible, emanating from the bottom right of the diagram in the fact type, “Round the World Ticket visits Country”); and

2. We don’t know whether the Join Subset Constraint reads:

or

**NB** The topmost Join Subset Constraint is actually drawn correctly, but the first argument of the first sequence is hidden below the first argument of the second sequence, which has the arrow. The syntax of Object-Role Modeling does not have the ability to disambiguate/resolve the problem, leaving the interpreter with the notion that the diagram is possibly drawn incorrectly. The shortcoming in the graphical notation is ambiguous because an interpreter may allocate any sensible interpretation to the three-pronged set of symbols that are otherwise meant to be Join Subset Constraint. Also, whatever rules of interpretation of the graphical notation there are, arenot consistent because the Join Subset…