Wednesday, March 07, 2007

RDF and OWL for extensibility and versioning

In comparing RDF/OWL to W3C Schema from an extensibility/versioning perspective, there are signifcant differences between them. This doesn't attempt to look at huge other areas of interest that each architecture covers.
XML Schema has well documented issues of how to allow default extensibility, to perform substitution of one thing for another (ie V2 instance of name in software that only understand V1). RDF/OWL make it easier to do extensibility as an OWL class doesn't require explicit wildcards or extensibility points. It has a more open content model, so the items can be added in the middle of the thing. RDF/OWL seem to have the "must ignore unknowns" built in, as adding an extra item (like middle) into an instance still validates using the V1 class.
Neither OWL/RDF or Schema make it easy to specify which things or properties can go where in a content model, particularly excluding certain things. Neither allows an extension author to say that an extension is required or provide an extension author controlled substitution model how to convert a V2 type into a V1 type if V2 isn't supported.

http://www.pacificspirit.com/Authoring/Compatibility/OWLRDFExtensibility.html