But there is an inheritance hierarchy that I don't know how to handle using W3C's specifications alone. A genus has properties values (e. g. flower/petals/color = 'white' ) that MUST be inherited by the species in this genus. The properties values of a genus CAN be overriden by some species in this genus.
I believe RDF handles this, see below.
It seems that the "refines" property in XML Schema would bring the desired semantics, together with the "Schema Information Set Contribution: augmentations to instance information sets which follow as a consequence of schema-validation". But the uncomplete state of the W3C document makes me unshure.
Hmm, I'm not 100% sure either, but my feeling is that RDF is better suited to this task than Schema.
As I understand things - we're looking to produce a generic schema for capturing character data. In this case, "refines" could be used to extend the schema to include attributes/elements from other disciplines.
RDF allows you to describe 'resources' independent of the structure of the schema they conform to, and allows things like sub-classing.
I don't see anything clearly specified in RDF and RDF Schema for inheritance of properties.
From the RDF Schema spec : http://www.w3.org/TR/PR-rdf-schema/
"Classes themselves are often organised in a hierarchical fashion, for example the class 'dog' might be considered a sub-class of 'animal' which is a sub-class of 'organism' etc., meaning that any resource which is of rdf:type 'dog' is ipso facto also of rdf:type 'animal' and so on. This specification describes a property, rdfs:subClassOf, to denote such relationships between classes."
...and (describing subClassOf)...
"If class A is a sub-class of some broader class B, and B is a sub-class of C, then A is also implicitly a sub-class of C. Consequently, resources that are instances of class A will also be instances of C, since A is a sub-set of both B and C"
...and (describing subPropertyOf)...
"If the property biologicalFather is a sub-property of the broader property biologicalParent, and if Fred is the biologicalFather of John, then it is implied that Fred is also the biologicalParent of John."
I think these portions of the spec apply to the sort of 'inheritance' you require - or am I missing a subtle difference here? If you wish to provide default values for properties then I think this needs to be addressed at an application level.
Info. for computer men: biology has a hierarchic classification of species whose 4 lowest levels are: order family genus species
Heres an RDF example of this structure (I've kept it to the lower 4 levels of the classification, ignoring Kingdom, Phylum, Class, etc.).
<rdf:Description ID="Order"> rdf:type resource="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#Class"/ <rdfs:subClassOf rdf:resource="http://www.foo.com/taxonomy-schema#Class%22/%3E </rdf:Description>
<rdf:Description ID="Family"> rdf:type resource="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#Class"/ <rdfs:subClassOf rdf:resource="#Order"/> </rdf:Description>
<rdf:Description ID="Genus"> rdf:type resource="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#Class"/ <rdfs:subClassOf rdf:resource="#Family"/> </rdf:Description>
<rdf:Description ID="Species"> rdf:type resource="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#Class"/ <rdfs:subClassOf rdf:resource="#Genus"/> </rdf:Description>
Here we can declare Chrysanthemum to be a subclass of species, forgive me for not knowing the latin name...
<rdf:Description ID="Chrysanthemum"> rdf:type resource="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#Class"/ <rdfs:subClassOf rdf:resource="#Species" /> </rdf:Description>
However, and this is where I'm still wrestling with RDF to an extent, there are other ways to achieve this. For example, we may not need Genus and Species classes - instead modelling the Chrysanthemum genus as a class, and species as subclasses. Note that RDF does allow a resource to be a subclass of more than one class.
I can see a lot of work ahead in this area, and there seems to be a wealth of different ways to model the same ideas. I'm at present digging through the literature to come up with some decent examples. (I hope the above was vaguely useful).
Cheers,
L.