.comment-link {margin-left:.6em;}
Books & Articles I wrote.

Saturday, November 18, 2006


Inheritance in Xml Schema and OWL

I've been using Sparx Systems Enterprise Architect for a few years now and recently I have been using it to model and generate Xml Schema using UML. All was going nice until some requirements determined that I needed to support multiple inheritance.

The problem is that Xml Schema does not support nonmonotonic inheritace - that is, it only supports single inheritance. There are some work arounds, but i prefer to call these hacks and hacks always come back to bite you.

I haven't had any real issues with the single inheritance models in C# and Java, mainly as they at least support it indirectly via interfaces. However, it remains to be seen whether the current requirements for multiple inheritance cause any issues when i look at procedural definitions of the types i am creating.

However, in ruling out using Xml Schema I am getting back into the world of OWL and RDF, something i did quite a bit of work on some time ago. Gladly Stanford's Protoge editor has evolved and now has native OWL support and is pretty neat (unfortunetly i can't get their latest alpha 4.0 release to run, but that may be my lack of Java configuration knowledge - there are no instructions you see).

OWL does support the concept of multiple inheritance and much more. In fact i suppose in a way i am happy i have been driven back to it as tool support is now getting there. I'll be trying a few examples out over the weekend and it should be very interesting to start using some of the latest reasoners and see how they have evolved too.

This page is powered by Blogger. Isn't yours?

Weblog Commenting and Trackback by HaloScan.com