[tdwg-content] Occurrences, Organisms, and CollectionObjects: a review
steve.baskauf at vanderbilt.edu
Fri Sep 9 16:52:12 CEST 2011
Richard Pyle wrote:
> I'm also wondering if we necessarily need to "break" the traditional view of
> the "Occurrence" class in order to implement Organism and CollectionObject.
> As long as we keep in mind that DwC is a vocabulary of terms focused on
> representing an exchange standard (rather than a full-blown Ontology),
> perhaps Occurrence records can continue to be represented in the traditional
> way as "flat" content, but the Organism and CollectionObject classes allow
> us to present data in a somewhat more "normalized" way in those
> circumstances that call for it (e.g. tracking individuals or groups over
> time [Organism], or managing fossil rocks with multiple taxa
> [CollectionObject] -- to name just two).
I've been thinking about this issue of "backward compatibility" with
respect to Occurrences if the CollectionObject/Sample/Token/whatever
class is adopted. I really don't think it is going to be as big of a
deal as people are making it out to be.
It seems to me that the main problems arise in two areas: when one wants
to be clear about typing and when one wants to express relationships in
a system where it is possible to do through semantics (like RDF). In
that kind of circumstance, it's bad (oh yeh, I forgot - the term is
"naughty") to say something like
resourceA hasOccurrence resourceB
when resourceB isn't actually an Occurrence. "Wrong" typing also
happens all the time because the classes don't exist (yet) to do the
typing correctly. As a case in point, in the Morphbank system, I have
multiple images of the same tree. In that system the tree is typed as a
"specimen". That is totally wrong because the tree isn't a specimen,
but what else is it going to be typed as? There isn't (yet) an
appropriate class to put it in.
Although these two problems (wrong typing and using a term with the
wrong kind of object which are actually different manifestations of the
same class-based problem) are naughty, realistically very few people are
actually using a system that is "semantic-aware" (e.g. serving and
consuming RDF) so right now making those mistakes doesn't really "break"
anything. Most data providers are using traditional databases or even
Excel spreadsheets where the DwC terms are just column headings with no
real "meaning" other than what the data managers intend for them to
mean. So if a manager has a table where each line contains a record for
a specimen and has a column heading for a column entitled
"dwc:catalogNumber", there isn't really anything other than an idea in
the manager's head that the catalogNumber is a property of a specimen or
Occurence or CollectionObject. If each line in the database table is
"flat" such that one specimen=one CollectionObject=one Occurrence, all
that is required to make catalogNumber be a property of a
CollectionObject instead of an Occurrence is a different way of thinking
in the managers mind because there are really no semantics embedded in
the table. We are already doing this kind of mental gymnastics with
existing classes like dwc:Identification . If our hypothetical database
manager has a column heading that says "dwc:identifiedBy" in the
specimen table, that is really a property of dwc:Identification, not
dwc:Occurrence but again that is a distinction that is only going to be
made in the manager's mind. Making the distinction really only becomes
an issue when the database stops being "flat" for a particular
relationship, e.g. if the database wants to allow multiple
Identifications per specimen record. Then the database structure must
be changed accordingly to accommodate that "normalization".
What we have here at the present moment is a situation where data
providers don't have any way to have anything but "flat" records where 1
specimen=1 Occurrence=1 Organism. By adding the Organism and
CollectionObject classes, we allow people who need or want to have less
"flat" (=more "normalized") databases to have something to call the
entities that are represented by the new tables they create to handle
1:many relationships instead of 1:1 relationships. Anybody who only
cares about 1:1 relationships really doesn't need to worry about the
fact that the new class exists, just as people currently don't have to
worry about the Identification class if they only allow one
Identification per specimen in their database.
So I guess what I'm saying is that if a database manager has a table
labeled Occurrence, they really don't have to freak out if we now tell
them that their table actually should be labeled CollectionObject as
long as there is only one CollectionObject per Occurrence. They didn't
freak out before when we told them that they should call their table
"Occurrence" instead of "Observation" or "Specimen" in 2009, did they?
I think what I'm saying here is what Rich was trying to say in the
paragraph I quoted, but I'm not sure.
Steven J. Baskauf, Ph.D., Senior Lecturer
Vanderbilt University Dept. of Biological Sciences
postal mail address:
VU Station B 351634
Nashville, TN 37235-1634, U.S.A.
2125 Stevenson Center
1161 21st Ave., S.
Nashville, TN 37235
office: 2128 Stevenson Center
phone: (615) 343-4582, fax: (615) 343-6707
More information about the tdwg-content