[tdwg-content] Purpose of ResourceRelationship
tuco at berkeley.edu
Wed Sep 14 05:29:18 CEST 2011
On Thu, Sep 8, 2011 at 1:52 AM, Richard Pyle <deepreef at bishopmuseum.org> wrote:
> On a separate but related issue, I don't think I ever received any feedback
> on my question some months back regarding the scope of function of the
> ResourceRelationship class in DwC.
> I suspect that hardly anyone is using it, and I get the sense that most
> people assume that it is intended to allow cross-linking instances of DwC
> classes with objects external to DwC-class items.
> However, in my mind it serves as the *perfect* mechanism to cross-link
> instances of DwC classes to each other (e.g., an Occurrence to an Event; an
> Identification to a Taxon and Organism; a Location to an Event; etc., etc.).
> It also seems to me to be the perfect mechanism to represent recursive links
> within a Class. It's this last bit that John's recent email reminded me of.
> To wit:
>> Term Name: associatedOrganisms
>> Identifier: http://rs.tdwg.org/dwc/terms/associatedOrganisms
>> Namespace: http://rs.tdwg.org/dwc/terms/
>> Label: associatedOrganisms
>> Definition: A list (concatenated and separated) of identifiers of
>> other Organism records and their associations to this Organism.
>> Comment: Example: "sibling of MXA-231; sibling of MXA-232".
> ... as well as associatedOccurrences, associatedTaxa, and possibly other
> "associated[xxxxx]" terms...
> Shouldn't these "associations" among instances between and within DwC
> classes be represented as series of ResourceRelationship instances? Is this
> not the intended purpose for ResourceRelationship? Or, is it the intended
> purposes, but the various "associated[xxxx]" terms are there in order to
> provide a "flattened" or "denormalized" concatenation of identifiers?
It's not that they should be represented one way or another, but
rather that they can be represented either way, depending on the
application. If you just want to drag the list of associations along
with a Simple Darwin Core record, you can do that with the
If you want to have lists of associations in a Darwin Core Archive
representation, you can create an associated[xxx] extension, map the
appropriate fields in the extension and include the source_id to match
it to the core record the list belongs to.
Instead you might be enamored of XML Schema. You could import the
generic Darwin Core reference schema and refine it to have containers
for any types of associations you want to make explicit. Or, you could
use ResourceRelationship as a container and allow it to be populated
with any number and type of relationship.
You get the picture.
More information about the tdwg-content