Basically the Data Model includes:
#include <string>
#include <set> namespace org_UNO_biology_taxonomy { class Named { public:
class Annotated : public Named { public:
class Organ; class Zone; class TaxonomicClass : public Annotated
class Feature;
class Organ : public Annotated
class Value
class Feature : public Annotated
class Property : public Annotated
class Zone : public Annotated
}; // end of namespace org_UNO_biology_taxonomy |
Rosaceae have 5 petals
Prunus domestica is a Rosaceae
==> Prunus domestica has 5 petals
The model should support non-monotonicity, which simply means that "Rosaceae have 5 petals" can be overidden (e.g. Dryas octopetala is a Rosaceae and has 8 petals).
RDF
Schema doesn't either support properties inheritance ... But what is
important is that the semantic of TaxonomicClass
is clearly specified
to inherit the set of features from upperClass, and possibly override
them.
See here suggestions for RDF to express this
kind of properties inheritance.
Once the "abstract machinery" has been settled, it will not be difficult to make the other vocabularies, since concepts are already well-defined. Simply each word should be classified as either:
<bio:descriptions
xmlns:bio="http://www.tdwg.org/xml-schema/2000/biology/bio#" xmlns:tax="http://www.tdwg.org/xml-schema/2000/biology/taxonomy#" xmlns:bot="http://www.tdwg.org/xml-schema/2000/biology/botany#"> <tax:species id="S1"> <bot:petal><bio:color id="C1">red</bio:color></bot:petal> </tax:species> </bio:descriptions> |
<bio:descriptions
xmlns:bio="http://www.tdwg.org/rdf-schema/2000/biology/bio#" xmlns:tax="http://www.tdwg.org/rdf-schema/2000/biology/taxonomy#" xmlns:bot="http://www.tdwg.org/rdf-schema/2000/biology/botany#" > <rdf:RDF xml:lang="en"
<!-- just to show an example of locally defined property -->
<!-- just to show an example of enumerated values -->
<!-- just to show an example of locally defined organ -->
<!-- character is assumed to be defined as a rdf:Property in http://www.tdwg.org/rdf-schema/2000/biology/taxonomy#
<!-- species is assumed to be defined as a tax:TaxonomicClass
in http://www.tdwg.org/rdf-schema/2000/biology/taxonomy#
-->
</rdf:RDF> </bio:descriptions> |