PrototypeTypedAnnotations

From Filtered Push Wiki
Jump to: navigation, search

Discussion of legacy typed annotations used in the prototype. Replaced by FPMessages that contain AO/AOD annotations, and then replaced by FP Messages that contain OA/OAD annotations, with the typing removed from the message or annotation and delegated to rules that interpret the structure and content of the Annotation.

See: FP_Messages for current context.

The message typing described below entangles the concerns of the domain with the concerns of the annotation with the concerns of the transport layer.

Annotations

Note: Typed annotation messages are leftovers from FP Prototype design.

FP_CORRECTION_ASSERTION (deprecated)

arguments: SetID, list of one or more {schema, key, value} Semantics: assertion that something needs correction, e.g. "Darwin:Collector should be J.Macklin". Message originator is offering an annotation consisting of an an arbitrary set of concepts (and values for those concepts) to be applied to a particular set, where there are existing values for those concepts present, and those existing values should be replaced with the correction. Contains schema, concept in schema, assertion of value.

Possible semantics follow (expressed largely in terms of ABCD concepts, but suggesting semantic groupings a FP network might require, along with other concepts not described in ABCD, also with some references to the TDWG LSID ontology). Note that these are general descriptions of possible semantics for discussion.


<appliesTo>  Required, can't be empty.
   <GUID> Required if applicable
      Which GUID: (e.g. ABCD: Datasets/Dataset/Units/Unit/UnitGUID, or FP: SetID)  Required (two elements?) 
      Value:  Required
   </GUID>
   <darwincoretriplet>  Required if applicable
      ABCD: Datasets/Dataset/Units/Unit/SourceInstitutionID  Required
      ABCD: Datasets/Dataset/Units/Unit/SourceID  Required
      ABCD: Datasets/Dataset/Units/Unit/UnitID    Required
   </darwincoretriplet>
</appliesTo>
<corrections>  Required, list of one or more correction.
  <correction> Required
     Schema  Required
     Key     Required
     Value   Required
  </correction>
</corrections>
<correctionBy> Required.
   ABCD:  Datasets/Dataset/Units/Unit/Identifications/Identification/Identifiers/IdentifiersText  Required
   Alternately,  TDWGOntology/Base/Person http://rs.tdwg.org/ontology/Core#Person
   ABCD:  Datasets/Dataset/Units/Unit/Identifications/Identification/Date  Required
</correctionBy>
<discussion>  Optional
   ABCD:  Datasets/Dataset/Units/Unit/Notes  
</discussion>


The use cases seem to require that a correction come from a person, rather than a software agent. Determinations that something is incorrect by a software agent (including analysis by the network) should be quality control assertions rather than corrections. The distinction is probably not so much human agent or software agent, but whether the source of the correction is something entirely outside of the realm of the network (such as knowledge inside a person's head), or whether it is an inference based on examination of data in the network. Software agents able to read handwriting and correlate data in scanned field notes, publications, specimen ledgers, and specimen label data will blur this distinction, but they should probably get a new class of messages, and the correction (and new data) assertions should be required to originate from people.

May require launching another message defining a new set. For example if new collector, then need a message moving this from one message set to another.

FP_NEW_DATA_ASSERTION (deprecated)

arguments: SetID, list of one or more {schema, key, value} Semantics: This provides new data not in the set e.g. "Here is a locality assertion", e.g. "Here is a Concept Schema and an instance or part of it." e.g. adding georeferences not already in the metadata. Message originator is offering an annotation consisting of an an arbitrary set of concepts (and values for those concepts) to be applied to a particular set, where there may or may not be existing values for those concepts present. Should existing values be present, the message originator is offerring the new values as additional values. Contains schema, concept in schema, assertion of value.

May require that acceptors launch a message to notify that this should be part of duplicate set message.

Possible semantics:

<appliesTo>  Required, can't be empty.
   <GUID> Required if applicable
      Which GUID: (e.g. ABCD: Datasets/Dataset/Units/Unit/UnitGUID, or FP: SetID)  Required (two elements?)
      Value:  Required
   </GUID>
   <darwincoretriplet>  Required if applicable
      ABCD: Datasets/Dataset/Units/Unit/SourceInstitutionID  Required
      ABCD: Datasets/Dataset/Units/Unit/SourceID  Required
      ABCD: Datasets/Dataset/Units/Unit/UnitID    Required
   </darwincoretriplet>
</appliesTo>
<newData>  Required, list of one or more newDatum
  <newDatum> Required
     Schema  Required
     Key     Required
     Value   Required
  </newDatum>
</newData>
<discussion>  Optional
   ABCD:  Datasets/Dataset/Units/Unit/Notes  
</discussion>

FP_NEW_DETERMINATION (deprecated)

Message: FP_TAXON_COMMENT args: SetID, Taxon_Name (or TaxonConcept) Semantics: message originator is offering opinion of name that should be attached to specimen; SetID represents network ID of a set of putative duplicates; Special case of FP_NEW_DATA_ASSERTION with a set of required elements.

<PJM:Question>Are these generalizable to a single annotation assertion that has a type as an argument, where different types of assertions can have different required elements and can activate different behaviors?</PJM>

Possible semantics:

For an example new determination see IPT Demo

<appliesTo>  Required, can't be empty.
   <GUID> Required if applicable
      Which GUID: (e.g. ABCD: Datasets/Dataset/Units/Unit/UnitGUID or FP: SetID)  Required (two elements?)
      Value:  Required
   </GUID>
   <darwincoretriplet>  Required if applicable
      ABCD: Datasets/Dataset/Units/Unit/SourceInstitutionID  Required
      ABCD: Datasets/Dataset/Units/Unit/SourceID  Required
      ABCD: Datasets/Dataset/Units/Unit/UnitID    Required
   </darwincoretriplet>
</appliesTo>
<determination> Required.
   ABCD:  Datasets/Dataset/Units/Unit/Identifications/Identification/TaxonIdentified/ScientificName/FullScientificNameString  Optional
   ABCD:  Datasets/Dataset/Units/Unit/Identifications/Identification/TaxonIdentified/ScientificName/NameAtomised  Required
   ABCD:  Datasets/Dataset/Units/Unit/Identifications/Identification/TaxonIdentified/IdentificationQualifier      Optional
   ABCD:  Datasets/Dataset/Units/Unit/Sex  Optional
   DarwinCore1.4: LifeStage  or http://rs.tdwg.org/ontology/voc/Specimen#lifeStage Optional 
   ABCD:  Datasets/Dataset/Units/Unit/Identifications/Identification/Identifiers/IdentifiersText  Required
   ABCD:  Datasets/Dataset/Units/Unit/Identifications/Identification/Date  Required
</determination>
<discussion>  Optional
   ABCD:  Datasets/Dataset/Units/Unit/Notes  
</discussion>

FP_QUALITY_ISSUE_ASSERTION (deprecated)

Generated by network analysis of data, indicating that one or more elements of a data set appear to be outliers. arguments: SetID, list of one or more {schema, key, value} Semantics: assertion that something has been identified as potentially problematic in a quality control review and may need correction, e.g. "Darwin:Collector:J.Macklin;collected before collectors birth; Darwin:YearCollected:1830; collected before collectors birth".

Contains problematic schema, concept in schema, assertion of value, identification of the problem, and optionally a correction.

Might reference another FP_MESSAGE.

Possible semantics:


<appliesTo>  Required, can't be empty.
   <GUID> Required if applicable
      Which GUID: (e.g. ABCD: Datasets/Dataset/Units/Unit/UnitGUID, or FP: SetID)  Required (two elements?) 
      Value:  Required
   </GUID>
   <darwincoretriplet>  Required if applicable
      ABCD: Datasets/Dataset/Units/Unit/SourceInstitutionID  Required
      ABCD: Datasets/Dataset/Units/Unit/SourceID  Required
      ABCD: Datasets/Dataset/Units/Unit/UnitID    Required
   </darwincoretriplet>
</appliesTo>
<problems>  Required, list of one or more correction.
 <problem> Required
     Schema  Required
     Key     Required
     Value   Required
     WhyThisIsAProblem Required.
     StatisticalResults Optional
     <correction> Optional
        Schema  Required
        Key     Required
        Value   Required
     </correction>
  </problem>
</problems>
<QCBy> Required.
   TDWGOntology/Base/Actor   Required.  http://rs.tdwg.org/ontology/Base#BaseActor (includes both people and software agents).
</QCBy>
<discussion> Required
   ABCD:  Datasets/Dataset/Units/Unit/Notes  
</discussion>


FP_ASSOCIATION_ASSERTION (deprecated)

An annotation asserting that one data object has a particular relationship to another data object. This species eats this other species, this insect specimen was found on this plant specimen. Suggested by descriptions of classes of annotations under consideration by the Atlas of Living Australia in meeting at TDWG 2008 on 2008Oct19. Can likely use controlled vocabulary of annotations in TDWG Ontology.