This is an attempt to represent a DarwinCore observational data record as an OBOE structure. The DwC records came form the Darwin Core examples website, and are reproduced here for convenience. The OBOE representations are not really in any particular syntax, but are meant to convey the relationships succinctly and clearly (see Notes). A more formal notation should be used, such as Turtle.
Darwin Core record of a preserved mammal specimen
dcterms:type=PhysicalObject
dcterms:modified=2009-02-12T12:43:31
dwc:institutionCode=MVZ
dwc:collectionCode=Mammals
dwc:catalogNumber=14523
dwc:collectionID=urn:lsid:biocol.org:col:34904
dwc:occurrenceID=urn:catalog:MVZ:Mammals:14523
dwc:basisOfRecord=PreservedSpecimen
dwc:establishmentMeans=wild
dwc:country=Argentina
dwc:countryCode=AR
dwc:stateProvince=Neuquén
dwc:locality=25 km al NNE de Bariloche por Ruta 40 (=237)
dwc:scientificName=Ursus arctos
Pseudorepresentation in OBOE
observation "o1"
entity "countries:Argentina"
measurement "c1"
characteristic "dwc:countryCode"
value "AR"
standard "iso:countryCode"
observation "o2"
entity "provinces: Neuquén"
context "oboe-rel:within" "o1"
observation "o3"
entity "sbc:SpatialLocation"
measurement "m1"
characteristic "dwc:locality"
value "25 km al NNE de Bariloche por Ruta 40 (=237)"
context "oboe-rel:within" "o2"
observation "o5"
entity "sbc:SamplingEvent"
measurement "m12"
characteristic "dcterms:type"
value "PhysicalObject"
measurement "m13"
characteristic "dcterms:modified"
value "2009-02-12T12:43:31"
measurement "m14"
characteristic "dwc:institutionCode"
value "MVZ"
measurement "m15"
characteristic "dwc:collectionCode"
value "Mammals"
measurement "m30"
characteristic "dwc:catalogNumber"
value "14523"
measurement "m31"
characteristic "dwc:collectionID"
value "urn:lsid:biocol.org:col:34904"
measurement "m32"
characteristic "dwc:establishmentMeans"
value "wild"
measurement "m16"
characteristic "dwc:basisOfRecord"
value "PreservedSpecimen"
context "oboe-rel:within" "o3"
observation "o6"
entity "sbc:Organism"
measurement "m17"
characteristic "dwc:occurrenceID"
value "urn:catalog:MVZ:Mammals:14523"
measurement "m18"
characteristic "dwc:scientificName"
value "Ursus arctos"
context "oboe-rel:within" "o5"
Darwin Core record of bird observation
dwc:occurrenceID=urn:catalog:AUDCLO:EBIRD:OBS64515288
dcterms:type=Event
dcterms:modified=2009-02-17T07:33:04Z
dwc:institutionCode=AUDCLO
dwc:collectionCode=EBIRD
dwc:basisOfRecord=HumanObservation
dwc:individualCount=2
dwc:samplingProtocol=area count
dwc:eventDate=2006-11-26
dwc:country=Argentina
dwc:countryCode=AR
dwc:stateProvince=Neuquén
dwc:locality=Valle Limay, Estancia Rincon Grande, 48 ha area with centroid at this point
dwc:decimalLatitude=-40.97467
dwc:decimalLongitude=-71.0734
dwc:geodeticDatum=WGS84
dwc:coordinateUncertaintyInMeters=200
dwc:scientificName=Anthus hellmayri
dwc:class=Aves
dwc:genus=Anthus
dwc:specificEpithet=hellmayri
Pseudorepresentation in OBOE
observation "o1"
entity "countries:Argentina"
measurement "c1"
characteristic "dwc:countryCode"
value "AR"
standard "iso:countryCode"
observation "o2"
entity "provinces:Neuquén"
context "oboe-rel:within" "o1"
observation "o3"
entity "sbc:SpatialLocation"
measurement "m0"
characteristic "dwc:locationID"
standard "foobar:ID"
measurement "m1"
characteristic "dwc:locality"
value "Valle Limay, Estancia Rincon Grande, 48 ha area with centroid at this point"
measurement "m2"
characteristic "dwc:decimalLatitude"
value "-40.97467"
standard "oboe-units:Degree"
precision "0.0018" <== REPRESENTS 200m uncertainty
measurement "m3"
characteristic "dwc:decimalLongitude"
value "-71.0734"
standard "oboe-units:Degree"
precision "0.0018" <== REPRESENTS 200m uncertainty
measurement "m4"
characteristic "dwc:geodeticDatum"
value "WGS84"
context "oboe-rel:within" "o2"
observation "o4"
entity "sbc:TemporalPoint"
measurement "m11"
characteristic "dwc:eventDate"
value "2006-11-26"
standard "oboe-units:Date"
observation "o5"
entity "sbc:SamplingEvent"
measurement "m10"
characteristic "dwc:eventID"
standard "foobar:ID"
measurement "m12"
characteristic "dcterms:type"
value "Event"
measurement "m13"
characteristic "dcterms:modified"
value "2009-02-17T07:33:04Z"
measurement "m14"
characteristic "dwc:institutionCode"
value "AUDCLO"
measurement "m15"
characteristic "dwc:collectionCode"
value "EBIRD"
measurement "m16"
characteristic "dwc:basisOfRecord"
value "HumanObservation"
context "oboe-rel:within" "o3"
context "oboe-rel:within" "o4"
observation "o7"
entity "foobar:CollectionOfOrganisms"
measurement "m17"
characteristic "dwc:occurrenceID"
value "urn:catalog:AUDCLO:EBIRD:OBS64515288"
measurement "m18"
characteristic "dwc:scientificName"
value "Anthus hellmayri"
measurement "m19"
characteristic "dwc:class"
value "Aves"
measurement "m20"
characteristic "dwc:genus"
value "Anthus"
measurement "m21"
characteristic "dwc:specificEpithet"
value "hellmayri"
measurement "m22"
characteristic "dwc:individualCount"
value "2"
standard "oboe-units:Number"
protocol "area count"
context "oboe-rel:within" "o5"
NOTES
On OBOE representation syntax
OBOE is an OWL-DL language. Properly representing the values above as OBOE documents would require representation in a formal OWL syntax, such as XML, N3, or Turtle. For readability and simplicity, I have referenced OBOE classes and properties using the naked, simple terms 'observation', 'entity', 'measurement', 'characteristic', 'value', 'standard', and 'protocol'. This is meant to imply that the referenced class would need to be a subclass of the listed OBOE construct, e.g., a subclass of oboe:Entity or oboe:Characteristic. This was done because many of the Darwin Core classes are not in fact subclasses of OBOE classes, and would need to be associated in order to really be used in this way (and of course, once any given DwC class was a subclass of an OBOE class, there would no longer be a need to explicitly state that it is a subclass in the model). This doesn't necessarily require a change in the DwC classes, but rather is an assertion that they represent OBOE entities and characteristics.
In addition, the representation shows the single 'value' for each class directly in the model. In practical usage, we have created an XML-based annotation syntax that allows a single OBOE model to be applied to many individual records, avoiding the need to repeat the model information for each record. For example, if Darwin Core records were expressed in a table, each column of the table could be mapped onto the OBOE model using the annotation syntax, and OBOE processors would know how to properly interpret all of the records without repeating the OBOE model for each record in the table.
On taxonomic names and concepts
The current examples show the use of Darwin Core fields that represent taxonomic names. Most ecological data should really have references to TaxonConcepts, as defined by the
Taxonomic Concept Schema (TCS). Appropriate OWL classes for TCS concepts need to be clarified.
On calculating precision in decimal degrees
Differences in decimal degrees were converted to meters based on the WGS-84 Equatorial Radius, which is 6378137.0 meters. Thus, at the equator, one degree is equal to 111319.5 m.
Thus, (1 degree /111319.5 m) * 200 m = 0.0018 degree
This is not universally useful, in that the ratio of degrees to meters changes with distance from the equator. To calculate decimal degrees for 200 m at other locations, one could apply a cosine correction as a function of latitude, such that the radius is 110895.9 m at +/- 5°, 109628.3 m at +/- 10°, 107526.4 m at +/- 15°, and 104606.1 m at +/- 20°.
Thus, the OBOE approach in which we expect to express precision in the same units as the value is somewhat unsatisfactory in the case of latitude and longitude (because they are equal angle, not equal distance, quantities), even though it works fine for other physical quantities.