[tdwg-content] New Darwin Core terms proposed relating to material samples

Steve Baskauf steve.baskauf at vanderbilt.edu
Sat Jun 1 16:51:54 CEST 2013


Again this email is not related to the material sample proposal, but 
rather to the email quoted below.

Rich,
I have been pondering your series of emails and wanted to flesh out in 
my mind the way that you envision implementing "individual" instances 
sensu Pyle/Whitton vs. "IndividualOrganism" instances sensu DSW.  Once 
again, I recognize the deficiencies of those term names, but use them 
for convenience. 

As was noted in the previous emails, dwc:individualID was minted as a 
way to tie together instances of repeated sampling/observing instances.  
In the 2010 discussion about the creation of a dwc:Individual class, it 
was noted that an "individual" (sensu vague) could not only tie together 
multiple occurrences (with "occurrence" defined as an organism recorded 
at a particular time and place) but also could tie together multiple 
identifications.  In DSW, we can tie a third thing to 
dsw:IndividualOrganism: physical objects that are removed from the 
IndividualOrganism and which may constitute part or all of the 
dsw:IndividualOrganism.  (For convenience at the moment, I'm going to 
talk about dsw:IndividualOrganism as if it were actually an individual 
organism but recognize that it could also represent some of the 
taxonomically homogeneous things in nature like herds, clones, and 
colonies.)  So with some variation on what kinds of things one wants to 
connect to an "individual", an individual instance could be described:
- in RDF terms as a node to which other types of resources are linked, and
- in database terms as a join between various tables (hopefully I'm 
using this terminology correctly).

In DSW, we would prefer for there to be a single instance of 
dsw:IndividualOrganism for each set of resources that one would like to 
link.  To make this more concrete, I'm going to introduce an example 
that I had already created a few months ago.  You can see it at 
http://code.google.com/p/darwin-sw/wiki/BioBlitzUseCase .  I'm going to 
focus on the first example called "Bird at BioBlitz".  Although the 
example is described in detail in RDF, you can just look at the diagram 
and read the little story to get a feel for the situation.  I'm going to 
use the following convention in talking about the example: the globally 
unique and persistent identifier for a resource is in angle brackets, 
e.g. <bird specimen> is the identifier for the bird specimen instance.  
(The RDF example has assigned actual fake URIs to each resource, but 
this convention should be easier to follow.)  Anyway, you can see that 
in the example, <bird> is in the role I've just described for 
dsw:IndividualOrganism.  There are two dwc:Identification instances 
linked to it and one dwc:Occurrence instance linked to it (the 
occurrence when the bird was shot and collected as a specimen).  
Although not included in the example, one could link N additional 
dwc:Occurrence instances to <bird> for instances when the bird was 
banded, observed, radio-tracked, etc.  In the example, <bird specimen> 
is also linked to <bird>.  In this particular case, the whole bird is 
collected, but one could imagine situations where specimens or material 
samples were collected without causing the bird to cease to exist in the 
environment (blood sample, toe clip, collect a feather or whatever).  In 
the example, there is a branching series of derived material objects 
that came from <bird> which includes: <bird specimen>, <skeleton>, 
<skin>, <stomach>. 

In DSW, these derived material objects are linked to their parent object 
by a transitive property, dsw:derivedFrom, which has an inverse 
transitive property, dsw:hasDerivative.  In DSW, 
dsw:derivedFrom/dsw:hasDerivative is not limited to linking physical 
things to physical things and can be used to link any kind of resource 
to its parent resource, including information resources such as digital 
images or DNA sequences.  To indicate that a physical thing is derived 
from another physical thing, we suggest dcterms:hasPart which is not 
transitive, but one could use other terms that are transitive (I think 
there is a BFO hasPart term that is transitive).  Anyway, the point of 
using dsw:derivedFrom/dsw:hasDerivative is to get away from having to 
link multiple resources to the identification instances.  We would not say
<bird specimen> dsw:hasIdentification <Corvus caurinus>
<bird specimen> dsw:hasIdentification <Corvus brachyrhynchos>
<skeleton> dsw:hasIdentification <Corvus caurinus>
<skeleton> dsw:hasIdentification <Corvus brachyrhynchos>
<skin> dsw:hasIdentification <Corvus caurinus>
<skin> dsw:hasIdentification <Corvus brachyrhynchos>
<image> dsw:hasIdentification <Corvus caurinus>
<image> dsw:hasIdentification <Corvus brachyrhynchos>
etc.

we would just say that
<bird> dsw:hasIdentification <Corvus caurinus>
<bird> dsw:hasIdentification <Corvus brachyrhynchos>

and then connect derived things to <bird> using dsw:derivedFrom, e.g.
<bird specimen> dsw:derivedFrom <bird>
<skin> dsw:derivedFrom <bird specimen>

Because dsw:derivedFrom is transitive, a client could reason
<skin> dsw:derivedFrom <bird>

and because dsw:hasDerivative is the inverse of dsw:derivedFrom, a 
client could also reason
<bird> dsw:hasDerivative <bird specimen>
<bird specimen> dsw:hasDerivative <skin>
<bird> dsw:hasDerivative <skin>

There are many other dsw:derivedFrom and dsw:hasDerivative relationships 
in the diagram which for brevity I won't mention here, but they are 
explicitly stated in the Appendices to the example for anyone who is 
interested.

So the point of this method of organizing resources is to make querying 
simple.  Assuming that a client has inferred all 
dsw:hasDerivative/dsw:derivedFrom relationships that aren't explicitly 
stated (by virtue of the inverse and transitive properties), it is a 
relatively simple matter to construct a query to discover all specimens 
identified as Corvus caurinus.  Set up the query pattern:

?Individual dsw:hasIdentification <Corvus caurinus>.
?Specimen dsw:derivedFrom ?Individual.
?Specimen a dsw:PreservedSpecimen.

and then have the query engine find all instances of ?Specimen that fit 
the pattern (this query pattern is oversimplified because the 
identification is actually linked to a taxon concept instance; see real 
example at end).  One could easily change the pattern to find all images 
of things derived from Individuals, all images of the Individuals 
themselves, all specimens that come from individuals identified as 
Corvus caurins and which also have DNA sequences derived from that 
individual, etc., etc.

If I'm understanding individual sensu Pyle correctly, in the example 
<bird>, <bird specimen>, <stomach>, <skin>, and <skeleton> would all be 
typed as individuals and possibly there would be no distinction between 
<bird> (the living thing that could be the subject of repeated 
Occurrence instances) and <bird specimen> (the dead bird in a drawer).  
In contrast, DSW would only type <bird> as dsw:IndividualOrganism and 
would type the other four things as dsw:LivingSpecimen (or 
dwctype:LivingSpecimen).  From a philosophical point of view, one could 
take either position - the constraints on "individual" would just be 
different.  As a practical matter, the DSW approach that I described 
above is desirable if one presupposes that the metadata will be 
expressed as RDF triples, that clients capable of inferring triples from 
transitive and inverse properties will be used, and that querying (i.e. 
SPARQL) will be performed on the triples.  If one does NOT presuppose 
those things and simply lives in a relational database world, then some 
other approach (possibly the Pyle approach to individuals) might be 
better. 

So what I'm wondering is: what are the advantages of typing <stomach>, 
<skin>, and <skeleton> as individual sensu Pyle?  In the email below, 
you say "Any Individual can have derivatives that are themselves unique 
Individual instances." and "Individuals are arranged hierarchically, and 
certain properties can be inherited up or down the hierarchy, depending 
on the properties and their associated logical constraints."  If someone 
asserts a third identification for <bird> as "Corvus novum", must that 
identification be inherited by <stomach>, <skin>, and <skeleton>
instances to create additional facts like:
<skeleton> dsw:hasIdentification <Corvus novum>
<skin> dsw:hasIdentification <Corvus novum>
<stomach> dsw:hasIdentification <Corvus novum>

It seems to me like some of the advantage of having some kind of 
"individual" instance as a central node or connection point gets lost if 
one starts proliferating related instances of "individual" because it 
requires duplicating assertions which one makes about one individual 
instance to all of the other related individual instances.

I have a number of other questions, but I'll stop there in the interest 
of limiting the scope of this email to one question.  If anyone is 
interested in the actual SPARQL query that corresponds to the example 
above, I will list it below.

Steve

To try out this actual SPARQL query, follow the instructions on 
http://code.google.com/p/darwin-sw/wiki/BioBlitzUseCase .  These 
instructions give the URL for the triplestore sandbox that already has 
all of the triples for the example loaded (step 3).  They also have the 
namespace abbreviations for cut and paste in step 4.  Here is the actual 
query to paste below the namespace abbreviations:

SELECT DISTINCT ?Specimen WHERE {
?Individual dsw:hasIdentification ?Identification.
?Identification dsw:toTaxon ?TaxonConcept.
?TaxonConcept tc:hasName ?Name.
?Name tn:genusPart "Corvus".
?Name tn:specificEpithet "caurinus".
?Specimen dsw:derivedFrom ?Individual.
?Specimen a dsw:PreservedSpecimen.
}
LIMIT 50

Here is another query which finds all images of any kind of resource 
which is derived from individuals identified as "Corvus caurinus":

SELECT DISTINCT ?Image WHERE {
?Individual dsw:hasIdentification ?Identification.
?Identification dsw:toTaxon ?TaxonConcept.
?TaxonConcept tc:hasName ?Name.
?Name tn:genusPart "Corvus".
?Name tn:specificEpithet "caurinus".
?Resource dsw:derivedFrom ?Individual.
?Resource foaf:depiction ?Image.
}
LIMIT 50

Richard Pyle wrote:
> Hi Markus,
>
> Great question!  Particularly because this is exactly the sort of use case
> we designed our model around.
>
>   
>> if you take a tissue sample of the same tree every year, would the
>>     
> identifier
>   
>> in individualID be the same for all of them or be different? WIth the
>>     
> current
>   
>> dwc:individualID definition it would be the same for all samples. If I
>> understand you correct each sample would have its own "individual"
>> identifier in your proposal? It can't see how you can collapse these two
>>     
> things
>   
>> into one definition.
>>     
>
> No, that is not how we would handle it.
>
> In our model, there would be one IndividualID to represent the tree,
> spanning the time period beginning (more or less) when the seed was
> germinated, until the time at which the entire physical structure of the
> tree was disintegrated.  It is an individual tree.
>
> There would be multiple Occurrence instances, for each time that someone
> observed or sampled or otherwise wished to document some condition of that
> tree. All of these Occurrence instances would refer to the same individualID
> value (i.e., the "tree").  In the example above, this means there would be a
> different Occurrence instance for each year that a sample is taken --
> because in each case, an assertion that the full tree existed at a certain
> time and place can be made (I understand that trees tend not to move around
> very much, so the Location for each event associated with each Occurrence
> would, in this case, remain the same; but the other Event properties -- such
> as eventID, samplingProtocol, samplingEffort, eventDate, eventTime,
> startDayOfYear, endDayOfYear, year, month, day, verbatimEventDate, habitat,
> fieldNumber, fieldNotes, eventRemarks -- would be documented accordingly for
> each sampling Occurrence instance).
>
> Suppose that the tree is visited every month, but only sampled once per
> year.  In that case, there would be an Occurrence record for every monthly
> visit.  In other words, an Occurrence instance exists regardless of whether
> a physical sample was made or not.  Any in-situ images made of the tree
> would likewise be associated with the specific Occurrence instance, and each
> image would represent a separate instance of "Evidence".
>
> Now, let's focus on the annual samplings.  Every time a new sample is taken
> from the tree, at least one new instance of Individual (with a unique
> individualID value) is created to represent the sample.  This sample
> (individual instance) may be a "gathering" (set of multiple individual
> specimens gathered at the same time), or it may be a single specimen, or it
> may be simply a tissue sample intended for destructive analysis.  In any
> case, it's a new individual instance derived from the "parent" individual
> instance representing the whole tree.  In our implementation, "Individual"
> can be hierarchical, such that a whole-organism tree can be sub-sampled with
> many "child" instances of "gatherings" (say, one gathering each year), and
> each gathering may have multiple child "specimen" individuals (e.g.
> individual botanical sheets created from the multiple items of a single
> gathering), and each specimen may have further "child" subsamples extracted
> for DNA analysis (or whatever), and the hierarchy can continue on down to
> whatever derivatives that people feel a need to keep track of (e.g.,
> aliquot).
>
> The point is, all Individual instances are well-defined physical objects (or
> well-defined sets of physical objects), and they can be arranged in a
> n-tiered hierarchy.
>
> Moreover, each Individual that can be characterized as a "sample" (what we
> refer to as a "CollectionObject") may also have a property value for
> "CollectionOccurrenceID" -- which refers to the specific Occurrence instance
> at which the sample was obtained.
>
> So, for example, if the tree is visited on May 27, 2013 and a specimen
> (sample) is taken, then:
> 1) An Event instance is generated to represent the event where the tree was
> visited;
> 2) An Occurrence instance is generated, which refers to the new EventID, and
> the existing IndividualID for the whole tree, and includes whatever other
> Occurrence properties are relevant for the tree at the time of this
> Occurrence
> 3) An Individual instance is generated for the specimen, which has a
> property value for parentIndividualID that refers to the individualID for
> the whole tree, and a property value for collectionOccurrenceID that refers
> the Occurrence instance where the specimen was collected.
>
> So, to summarize the answer to your question:
> - There are multiple Occurrence instances that refer to the same Individual
> instance representing the whole tree (and, hence can be collapsed to the
> same IndividualID value).
> - Any Individual can have derivatives that are themselves unique Individual
> instances.
> - Individuals are arranged hierarchically, and certain properties can be
> inherited up or down the hierarchy, depending on the properties and their
> associated logical constraints.
>
> At some point, I will assemble a set of other specific use cases, and how we
> manage them through our use of the "Individual" instance (although I will
> probably not use the word "Individual", as this seems to cause too much
> confusion in these discussions).
>
> Aloha,
> Rich
>
>
> .
>
>   

-- 
Steven J. Baskauf, Ph.D., Senior Lecturer
Vanderbilt University Dept. of Biological Sciences

postal mail address:
PMB 351634
Nashville, TN  37235-1634,  U.S.A.

delivery address:
2125 Stevenson Center
1161 21st Ave., S.
Nashville, TN 37235

office: 2128 Stevenson Center
phone: (615) 343-4582,  fax: (615) 322-4942
If you fax, please phone or email so that I will know to look for it.
http://bioimages.vanderbilt.edu

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.tdwg.org/pipermail/tdwg-content/attachments/20130601/0845dcdf/attachment.html 


More information about the tdwg-content mailing list