Project

General

Profile

Actions

CDM v2.0 Discussion

This is a site to discuss possible changes to the CDM v1.4 to go into CDM v2.0
See also Component C5.80 - Review of CDM v.1 and model for descriptive data in CDM v.2


Taxonomic Data

Separation Of Taxonomic Concept And Taxonomic View

There is a need to separate taxonomic concept information from taxonomic view information resulting in the new classes TaxonomicView and TaxonNode.

[](CdmTaxonomicView:taxonomicView.png)

See taxonomic view for further information.

DESCRIPTIVE DATA - CHANGES BEING TESTED


  1. Media extends IdentifiableEntity
  • addition of a ComparableTo method

  • deletion of the redundant attribute 'rights'

  1. TermBase extends IdentifiableEntity

There was redundancy with 'implements Comparable' in OrderedTermBase and 'implements Comparable<!IdentifiableEntity>' in IdentifiableIdentity.

  • I erased « implements Comparable<!IdentifiableEntity> » in IdentifiableEntity
  1. adding OnlyApplicableIf / InapplicableIf to FeatureNode

private Set onlyApplicableIf = new HashSet();

private Set inapplicableIf = new HashSet();

with the associated get, add, remove methods.

These attributes are not direct equivalent for onlyApplicableIf and inapplicableIf in SDD as they are attached directly to the child feature rather than the parent feature, which allow having different inapplicability rules for each child feature.

  1. Creation of the WorkingSet class

public class WorkingSet extends AnnotatableEntity {

…

private Set representations = new HashSet();

...

private FeatureTree descriptiveSystem;

...

private Set descriptions = new HashSet();

…

}

  1. Completion of IIdentificationKey interface

public interface IIdentificationKey {

    public Set<!NamedArea> getGeographicalScope();

    public void addGeographicalScope(!NamedArea geographicalScope);

    public void removeGeographicalScope(!NamedArea geographicalScope);

    public Set<Taxon> getTaxonomicScope();

    public void addTaxonomicScope(Taxon taxon);

    public void removeTaxonomicScope(Taxon taxon);

    public Set<Scope> getScopeRestrictions();

    public Set<Taxon> getCoveredTaxa();

    public void addCoveredTaxon(Taxon taxon);

    public void removeCoveredTaxon(Taxon taxon);

}

I removed 'representations' as MultiAccessKey and PolytomousKey inherit it from their hierarchy. I added it to MediaKey (former IdentificationKey) under the name of keyRepresentations in order not to mix with the media representations.

  1. Modification of IdentificationKey in accordance (and renaming it to MediaKey with all the necessary modifications in concerned classes)

public class MediaKey extends Media implements IIdentificationKey{

…

private Set<Taxon> coveredTaxa = new HashSet<Taxon>();

…

private Set<!NamedArea> geographicalScope = new HashSet<!NamedArea>();

…

private Set<Taxon> taxonomicScope = new HashSet<Taxon>();

…

private Set<Scope> scopeRestrictions = new HashSet<Scope>();

…

private Set<Representation> keyRepresentations = new HashSet<Representation>();

…

}

  1. Creation of the class MultiAccessKey

public class MultiAccessKey extends WorkingSet implements IIdentificationKey{

...

private Set<Taxon> coveredTaxa = new HashSet<Taxon>();

...

private Set<Taxon> taxonomicScope = new HashSet<Taxon>();

...

private Set<!NamedArea> geographicalScope = new HashSet<!NamedArea>();

...

private Set<Scope> scopeRestrictions = new HashSet<Scope>();

}

  1. Creation of PolytomousKey

public class PolytomousKey extends FeatureTree implements IIdentificationKey{

...

private Set<Taxon> coveredTaxa = new HashSet<Taxon>();

...

private Set<Taxon> taxonomicScope = new HashSet<Taxon>();


...

private Set<!NamedArea> geographicalScope = new HashSet<!NamedArea>();

...

private Set<Scope> scopeRestrictions = new HashSet<Scope>();

}

  1. Addition of the attribute 'result', 'question' and 'taxon' to FeatureNode so that a FeatureTree can store the identification path in the case of a polytomous key.

private DescriptionElementBase result;

private Set questions = new HashSet();

private Taxon taxon;

Updated by Andreas Müller almost 2 years ago · 77 revisions