DAGs are "necessary" in ontologies because (a) for the most part, the relations of interest and use in most ontologies being used today are "hierarchical" relations that are (set theoretically) partial orders or orders that induce lattice structures or orders based on these, and (b) these relations are algebraically "well behaved" and we can make easy use of them in fairly efficient and simplistic reasoning.  DAGs are a graphical representation of partial orders.

Of course, in any interesting domain, a lot of relations are not hierarchical (consider such relations as "used to treat", "contraindicated for", "is an ingredient of", etc. in drug and medical domains).  In fact, it might be argued that relatively few interesting relations are partial orders :-).  So a "real" ontology (if you'll pardon the use of that modifier) would represent these non-hierarhical relations as well.  But that requires a more sophisticated ontology language, a more complex representation (e.g., an axiomatic one), and more complex methods of inference.  Cyc, for example, supports such a more complex approach to ontology representation and inferencing within such a representation.

These more complicated sorts of relations can, of course, be represented in a myriad of formalisms (XML, OWL, XTM, first-order logic, ...).  It's largely a matter of how much expressive and inferential power you want, and how much complexity you're willing to tolerate to get it.

Gary H. Merrill, Principal Scientist
Analysis Applications, Research, and Technologies
GlaxoSmithKline Research and Development
Research Triangle Park, NC