May I repeat what I take to be a main point? There is no debate about complex systems consisting of entities which cannot be brought into a single hierarchy on a durable basis. So the system as a whole is a "network" - yes.
The question I have is about the entities of which the network is composed - what is their granularity? What is our sub model for those participants? I maintain that there are situations (modelling tasks) when the participants of the network are sufficiently complex to be represented by trees, rather than table rows or flat objects. Then the network is a network of trees.
Doing so promises a dramatic reduction of complexity. A touristic shopping cart conceived as a set of 100 "networked" table rows makes no sense; conceived as a tree it makes sense. The shopping cart itself is a participant in an
enterprise model which is a large network comprising many other entity types. Many are also quite complex, and whether or not we choose to regard such entities as trees (and thus the network as a forest) makes a difference.
For example, looking for five minutes at a concise tree representation, you usually have a quite good grasp of what is in, and what is not, even if the tree has 500 items. Suppose you have this question: which tour operator related data are contained in the concept "shopping cart"? Provided the naming of elements and attributes has been done carefully, you can answer the question within one minute,and you are confident to have given the complete answer.
So wrapping up: I do not talk about replacing a network by a tree, but by letting the network be a network of trees.
Kind regards,
Hans-Juergen
First of all, +1 for everything Michael has said on this subject. (Although, you can usually take that as a given.)
Perhaps another way of
looking at what Michael is saying is that it is the difference between "X contains a Y" and "X has a Y" - for example, an Address can be considered to "contain" a Street - the Street is intrinsic to the Address; however, a Person "has" an Address - there is a relationship there, but the former does not contain the latter in any meaningful sense.
Hierarchical models better suit "contains" relationships, but the real world is full of "has" relationships, which are more naturally described by network models.
Cheers,
Damian