I'm creating this issue for discussions related to a data model for Plant-Pollinator Interactions (PPI).
We have discussed many options to fit PPI into DwC-Archives, and their advantages and disadvantages. Here I will summarized what have been discussed, so we have tracking of this discussion and other people can also participate on that.
Data Model
- Event Core Model: uses
dwc:Event class as core in DwC-A's to represent interactions. So, an interaction is a dwc:Event with spatial (dwc:Location) and temporal information (e.g. dwc:eventData, dwc:eventTime).
- Resource Relationship: uses
dwc:ResourceRelationship extension and the core class can be dwc:Occurrence or dwc:Taxon. The terms in dwc:ResourceRelationship class are used to link dwc:Occurrences or dwc:Taxon's in order to represent an interaction between organisms/species.
- Interaction extension: create a new DwC Extension called Interaction extension (or PPI extension), so it will allow to specify the interaction partner of a core
dwc:Occurrence or dwc:Taxon.
Event Core Model
How it works
The same dwc:eventID is used to link two dwc:Occurrences or dwc:Taxons represeting an interaction between linked resources. The DwC-A contains a dwc:Event class as core and dwc:Occurrence and/or dwc:Taxon as extensions (see figure bellow).
The dwc:MeasurementOrFact class is then used within Plant Pollinator Interactions Vocabulary to describe many characteristics about interacting organism/species and interactions.
Issues:
dwc:Event does not provide a term which can be used to specify the type of an interaction (e.g. visitsFlowersOf, pollinates).
- No direction of the recored interaction can be provided. So, from two occurrences/taxa that share the same
dwc:eventID we don't know which one is the subject and the object of the interaction (who visits who?, who pollinates who?).
Issue 1) can be resolved defining a term interactionType in the Plant Pollinator Interactions Vocabulary and use dwc:MeasurementOrFact linked to the dwc:Event, but we still do not have the direction of the interaction.

Resource Relationship
This looks the more "natural" way to use DwC to specify a relationship (aka interaction) between two or more resources.
The dwc:ResourceRelationship solves the issues of previous data model by the usage of dwc:relationshipOfResource (ie. interaction type) and the direction of an interaction is given by the terms dwc:resourceID and dwc:relatedResourceID.
New term dwc:relationshipOfResourceID tdwg/dwc#283 (comment) will allow the adoption of an URI (instead of a literal value) and so, a term in a vocabulary or ontology can be used here (e.g. RO).
Some critics have been made about the complexity of using dwc:ResourceRelationship class, but I don't see it much different (and more complex) than using dwc:Event as core, since in any scenario we will need a relation model to capture interactions.
The dwc:MeasurementOrFact class is used in the same way as in Event Model to specify the characteristics of occurrences/taxa, but the interaction data is linked directly to the dwc:Occurrence/dwc:Taxon since **Extended Measurement Or Fact does not define a term for **dwc:resourceRelationshipID(oppsed to thedwc:occurrenceID). The alternative here is to define a new class Interaction` (next approach).

Interaction Measurement Or Fact extension
Since we can not link dwc:MeasurementOrFact to a dwc:ResourceRelationship, we discussed the creation of a new extension Interaction. The ideia is similar to Extended Measurement Or Fact extension, but instead of defining the term dwc:occurrenceID as part of the extension, it will define the dwc: resourceRelationshipID.
With that approach the star schema can be expanded to a snowflake schema, and the relationships (aka interactions) could have some measurements and facts directly attached to them.

Data sample
Event Data Model
Core: interactions.csv:
| eventID |
eventDate |
locality |
| eventID_1 |
2021-01-01 10:00:00 |
São Paulo |
Occurrences extension: occurrences.csv:
| eventID |
occurrenceID |
sex |
scientificName |
| eventID_1 |
occ_1 |
female |
Xylocopa frontalis |
| eventID_1 |
occ_2 |
hermaphrodite |
Passiflora edulis |
Extended MoF extension: emof.csv:
| eventID |
occurrenceID |
measurementType |
measurementValue |
| eventID_1 |
occ_2 |
flowerColor |
purple |
| eventID_1 |
|
resourceCollected |
nectar |
ResourceRelationship Data Model
Core: occurrences.csv:
| occurrenceID |
sex |
scientificName |
eventDate |
locality |
| occ_1 |
female |
Xylocopa frontalis |
2021-01-01 10:00:00 |
São Paulo |
| occ_2 |
hermaphrodite |
Passiflora edulis |
2021-01-01 10:00:00 |
São Paulo |
ResourceRelationship extension: resrelat.csv:
| occurrenceID |
resourceRelationshipID |
resourceID |
relatedResourceID |
relationshipOfResource |
| occ_1 |
resrelat_1 |
occ_1 |
occ_2 |
visistsFlowerOf |
MeasurementOrFact extension: mof.csv:
| occurrenceID |
measurementType |
measurementValue |
| occ_2 |
flowerColor |
purple |
| occ_1 |
resourceCollected |
nectar |
Interaction extension Data Model
Core: occurrences.csv:
| occurrenceID |
sex |
scientificName |
| occ_1 |
female |
Xylocopa frontalis |
| occ_2 |
hermaphrodite |
Passiflora edulis |
ResourceRelationship extension: resrelat.csv:
| occurrenceID |
resourceRelationshipID |
resourceID |
relatedResourceID |
relationshipOfResource |
relationshipEstablishedDateProperty |
| occ_1 |
resrelat_1 |
occ_1 |
occ_2 |
visistsFlowerOf |
2021-01-01 10:00:00 |
Interaction Measurement Or Fact Extension: interactions-mof.csv:
| occurrenceID |
resourceRelationshipID |
measurementType |
measurementValue |
| occ_2 |
|
flowerColor |
purple |
| occ_1 |
resrelat_1 |
resourceCollected |
nectar |
Other options
A Interaction extension can extend the dwc:ResourceRelationship to include geography information direct to the interactions (dwc:Locationclass) and many others terms that are relevant to characterize an interaction.
Questions
- What is the "best" model for sharing plant-pollinator interactions?
- What are others advantages/disadvantages of each model?
- Could someone provide examples that fits each one of the models, and try to explain each one is the best for the purpose?
So, I would like to know the opinion of others about it.
thanks.
I'm creating this issue for discussions related to a data model for Plant-Pollinator Interactions (PPI).
We have discussed many options to fit PPI into DwC-Archives, and their advantages and disadvantages. Here I will summarized what have been discussed, so we have tracking of this discussion and other people can also participate on that.
Data Model
dwc:Eventclass as core in DwC-A's to represent interactions. So, an interaction is adwc:Eventwith spatial (dwc:Location) and temporal information (e.g.dwc:eventData,dwc:eventTime).dwc:ResourceRelationshipextension and the core class can bedwc:Occurrenceordwc:Taxon. The terms indwc:ResourceRelationshipclass are used to linkdwc:Occurrences ordwc:Taxon's in order to represent an interaction between organisms/species.dwc:Occurrenceordwc:Taxon.Event Core Model
How it works
The same
dwc:eventIDis used to link twodwc:Occurrences ordwc:Taxons represeting an interaction between linked resources. The DwC-A contains adwc:Eventclass as core anddwc:Occurrenceand/ordwc:Taxonas extensions (see figure bellow).The
dwc:MeasurementOrFactclass is then used within Plant Pollinator Interactions Vocabulary to describe many characteristics about interacting organism/species and interactions.Issues:
dwc:Eventdoes not provide a term which can be used to specify the type of an interaction (e.g.visitsFlowersOf,pollinates).dwc:eventIDwe don't know which one is the subject and the object of the interaction (who visits who?, who pollinates who?).Issue 1) can be resolved defining a term
interactionTypein the Plant Pollinator Interactions Vocabulary and usedwc:MeasurementOrFactlinked to thedwc:Event, but we still do not have the direction of the interaction.Resource Relationship
This looks the more "natural" way to use DwC to specify a relationship (aka interaction) between two or more resources.
The
dwc:ResourceRelationshipsolves the issues of previous data model by the usage ofdwc:relationshipOfResource(ie. interaction type) and the direction of an interaction is given by the termsdwc:resourceIDanddwc:relatedResourceID.New term
dwc:relationshipOfResourceIDtdwg/dwc#283 (comment) will allow the adoption of an URI (instead of a literal value) and so, a term in a vocabulary or ontology can be used here (e.g. RO).Some critics have been made about the complexity of using
dwc:ResourceRelationshipclass, but I don't see it much different (and more complex) than usingdwc:Eventas core, since in any scenario we will need a relation model to capture interactions.The
dwc:MeasurementOrFactclass is used in the same way as in Event Model to specify the characteristics of occurrences/taxa, but the interaction data is linked directly to thedwc:Occurrence/dwc:Taxonsince **Extended Measurement Or Factdoes not define a term for **dwc:resourceRelationshipID(oppsed to thedwc:occurrenceID). The alternative here is to define a new classInteraction` (next approach).Interaction Measurement Or Fact extension
Since we can not link
dwc:MeasurementOrFactto adwc:ResourceRelationship, we discussed the creation of a new extensionInteraction. The ideia is similar to Extended Measurement Or Fact extension, but instead of defining the termdwc:occurrenceIDas part of the extension, it will define thedwc: resourceRelationshipID.With that approach the star schema can be expanded to a snowflake schema, and the relationships (aka interactions) could have some measurements and facts directly attached to them.
Data sample
Event Data Model
Core: interactions.csv:
Occurrences extension: occurrences.csv:
Extended MoF extension: emof.csv:
ResourceRelationship Data Model
Core: occurrences.csv:
ResourceRelationship extension: resrelat.csv:
MeasurementOrFact extension: mof.csv:
Interaction extension Data Model
Core: occurrences.csv:
ResourceRelationship extension: resrelat.csv:
Interaction Measurement Or Fact Extension: interactions-mof.csv:
Other options
A
Interaction extensioncan extend thedwc:ResourceRelationshipto include geography information direct to the interactions (dwc:Locationclass) and many others terms that are relevant to characterize an interaction.Questions
So, I would like to know the opinion of others about it.
thanks.