Darwin Core term management - dc:type, basisOfRecord, and recordClass
Dear TAG,
On 23 October a solution to existing problems with the use of dwc:basisOfRecord and dcterms:type as published in the current Darwin Core standard was proposed. Discussions on tdwg-content leading up to and since that proposal support the addition of a term called recordClass as the pragmatic approach that requires less ongoing management than an alternative invoking a new type vocabulary. This message is to forge the way to the first Darwin Core term changes following the published Namespace Policy (http://rs.tdwg.org/dwc/terms/namespace/index.htm#classesofchanges). The proposed changes fall under two of the classes of changes, 3.3 (Semantic changes in Darwin Core terms) and 3.4 (Addition of Darwin Core terms declarations to existing Darwin Core namespaces). I propose to draft Decisions (see http://rs.tdwg.org/dwc/terms/history/decisions/index.htm) for review by the TAG following the 30-day prescribed review period (next week). I just wanted to send this introductory message in anticipation to open up the floor for any questions or commentary, as this is the first time this process has been invoked.
John
I am confused about the usage in DwC documents of the phrases "domain", "Class", and dwcattributes:organizedInClass
A. The file http://rs.tdwg.org/dwc/terms/history/decisions/index.htm carries the text "The domain of Behavior was recognized as having been spuriously set to Event when it should have been Occurrence." (This should be "behavior" not "Behavior" I believe).
As best I can tell, this is meant to mean in this case that the object of the predicate dwcattributes:organizedInClass is now meant to be http://rs.tdwg.org/dwc/terms/Occurrence
B. http://rs.tdwg.org/dwc/terms/index.htm carries the text "3. Term Definitions [...] Class: The primary category of terms (Class) that this term describes. [...]" As best I can tell this means that the object of the predicate dwcattributes:organizedInClass is the stated Class
C. The definition of organizedInClass in http://www.tdwg.org/standards/450/files/darwincore/terms/attributes/dwcattri... carries the rdfs:comment "Does not imply domain or range membership in the class."
D. (Irrelevant to my confusion, but needs to be fixed): dwcattributes.rdf is --- ill-formed XML on trivial grounds (there is white space after a "<") ---- is invalid RDF even when made well-formed because it has both "ID" and "about" attributes on all four dwcattributes that it defines
So below are my conclusions. Are they right?
1. "The Class of a dwc property p is X" and "The domain of dwc property p is X" both mean p dwcattributes:organizedInClass X
2. "The range of dwc property p is X" has no expression in the current dwcattributes or elsewhere in DwC
3. The two informal uses of the word "domain"---one in the decision file cited and perhaps elsewhere, and one in the rdfs:comment cited from dwcattributes.rdf ---are inconsistent, but the latter may be interpreted as: "an extension of DwC to valid OWL should not assume that any relation between rdfs:domain and dwcattributes:organizedInClass is intended by the DwC, which is entirely silent on both rdfs:domain and rdfs:range for all of its properties."
[Personally, I don't like the above interpretation. The very fact of having made the cited change to "behavior" to me suggests that DwC does care about informal semantics, and that at the very least, organizedInClass is informally intended to be a subProperty of rdfs:domain. ]
A fair bit of the confusion no doubt arises from the Decisions example for Behavior. Allow me to clear that one up first. That decision was meant as an example based on something that really did happen during DwC development. It's only one of hundreds of decisions that were made during development, and isn't meant to persist once we have a real Decision to put in place. At the time that decision was made and placed in that page, "Behavior" really was the term name, not "behavior" - that change came later. Behavior really did have a domain (rdfs:domain) of Event at that point. Subsequently all domain assignments were removed for reasons given elsewhere, but summarized as DwC is not meant to be an ontology, but rather a library of terms. The alternative to the formal domain was a new attribute dwcattributes:organizedInClass, and as you surmised, this is where we make suggestions about which Class (a term having rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/) a property term (a term having rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/) should be associated with for human consumption.
A. So yes, you got it right, the object of the predicate dwcattributes:organizedInClass for dwc:behavior is now meant to be http://rs.tdwg.org/dwc/terms/Occurrence.
B. Yes, you got it right again. The URI given for the Class in the documentation (see file:///C:/Data/DwC/darwincore/terms/index.htm#behavior) means that the object of the predicate dwcattributes:organizedInClass is the stated Class.
C. Correct. Such an implication could end up faulty in an ontology built from these terms. The term dwc:scientificName, for example, could be used in different contexts.
D. Correct. The rdf:ID attributes will be removed and the white space problem fixed in the next commit to the code site, with like commit to rs.tdwg.org.
1. There are currently no domain assignments for terms in DwC. If a term has a URI next to it in the documentation (Quick Reference or Complete History), the URI is determined by the predicate dwcattributes:organizedInClass. If it has the literal string "all" in these pages it is meant to be a "record-level" term, which means it could equally be organized in any of the DwC classes and would apply to a whole record, regardless of the dcterms:type, dwc:basisOfRecord, or proposed dwc:recordClass.
2. Correct. No DwC terms has a predefined range. Only the dcterms do.
3. "Domain" always means domain in the formal sense of rdfw:domain. It is fair to say, as you did, that "an extension of DwC to valid OWL should not assume that any relation between rdfs:domain and dwcattributes:organizedInClass is intended by the DwC, which is entirely silent on both rdfs:domain and rdfs:range for all of its properties."
[I think your distaste for the interpretation above may be tempered by the fact that the cited change to behavior occurred while domains were still considered. They have since been abandoned to avoid inappropriate assertions, such as a resource having a property dwc:scientificName must be an instance of a dwc:Taxon. Such assertions are to be made in ontologies, and distinct ontologies may differ as to the domain of DwC terms. The idea is to build simple ontologies for specific world views, and to construct world views of larger scope by constructing further ontologies from these for particular purposes. DwC makes no claim to understand or enforce any given world view.]
2009/11/18 Bob Morris morris.bob@gmail.com:
I am confused about the usage in DwC documents of the phrases "domain", "Class", and dwcattributes:organizedInClass
A. The file http://rs.tdwg.org/dwc/terms/history/decisions/index.htm carries the text "The domain of Behavior was recognized as having been spuriously set to Event when it should have been Occurrence." (This should be "behavior" not "Behavior" I believe).
As best I can tell, this is meant to mean in this case that the object of the predicate dwcattributes:organizedInClass is now meant to be http://rs.tdwg.org/dwc/terms/Occurrence
B. http://rs.tdwg.org/dwc/terms/index.htm carries the text "3. Term Definitions [...] Class: The primary category of terms (Class) that this term describes. [...]" As best I can tell this means that the object of the predicate dwcattributes:organizedInClass is the stated Class
C. The definition of organizedInClass in http://www.tdwg.org/standards/450/files/darwincore/terms/attributes/dwcattri... carries the rdfs:comment "Does not imply domain or range membership in the class."
D. (Irrelevant to my confusion, but needs to be fixed): dwcattributes.rdf is --- ill-formed XML on trivial grounds (there is white space after a "<") ---- is invalid RDF even when made well-formed because it has both "ID" and "about" attributes on all four dwcattributes that it defines
So below are my conclusions. Are they right?
- "The Class of a dwc property p is X" and
"The domain of dwc property p is X" both mean p dwcattributes:organizedInClass X
- "The range of dwc property p is X" has no expression in the current
dwcattributes or elsewhere in DwC
- The two informal uses of the word "domain"---one in the decision
file cited and perhaps elsewhere, and one in the rdfs:comment cited from dwcattributes.rdf ---are inconsistent, but the latter may be interpreted as: "an extension of DwC to valid OWL should not assume that any relation between rdfs:domain and dwcattributes:organizedInClass is intended by the DwC, which is entirely silent on both rdfs:domain and rdfs:range for all of its properties."
[Personally, I don't like the above interpretation. The very fact of having made the cited change to "behavior" to me suggests that DwC does care about informal semantics, and that at the very least, organizedInClass is informally intended to be a subProperty of rdfs:domain. ]
-- Robert A. Morris Professor of Computer Science (nominally retired) UMASS-Boston 100 Morrissey Blvd Boston, MA 02125-3390 Associate, Harvard University Herbaria email: ram@cs.umb.edu web: http://bdei.cs.umb.edu/ web: http://etaxonomy.org/FilteredPush http://www.cs.umb.edu/~ram phone (+1)617 287 6466
Thanks for the clarification. Indeed, my distaste disappears with that explanation! Bob
[...] [I think your distaste for the interpretation above may be tempered by the fact that the cited change to behavior occurred while domains were still considered. They have since been abandoned to avoid inappropriate assertions, such as a resource having a property dwc:scientificName must be an instance of a dwc:Taxon. Such assertions are to be made in ontologies, and distinct ontologies may differ as to the domain of DwC terms. The idea is to build simple ontologies for specific world views, and to construct world views of larger scope by constructing further ontologies from these for particular purposes. DwC makes no claim to understand or enforce any given world view.]
Ehhhksellent.
On Thu, Nov 19, 2009 at 9:49 AM, Bob Morris morris.bob@gmail.com wrote:
Thanks for the clarification. Indeed, my distaste disappears with that explanation! Bob
[...] [I think your distaste for the interpretation above may be tempered by the fact that the cited change to behavior occurred while domains were still considered. They have since been abandoned to avoid inappropriate assertions, such as a resource having a property dwc:scientificName must be an instance of a dwc:Taxon. Such assertions are to be made in ontologies, and distinct ontologies may differ as to the domain of DwC terms. The idea is to build simple ontologies for specific world views, and to construct world views of larger scope by constructing further ontologies from these for particular purposes. DwC makes no claim to understand or enforce any given world view.]
-- Robert A. Morris Professor of Computer Science (nominally retired) UMASS-Boston 100 Morrissey Blvd Boston, MA 02125-3390 Associate, Harvard University Herbaria email: ram@cs.umb.edu web: http://bdei.cs.umb.edu/ web: http://etaxonomy.org/FilteredPush http://www.cs.umb.edu/~ram phone (+1)617 287 6466
Dear TAG,
If no one disagrees with Lee that I should "move as I think best" (see below), then on my trip to town from the field next week (probably Thursday, subject to weather conditions), I will:
1) Update a few pending term Comments. These fall into the class of simple errata, as they don't affect semantics and won't result in new versions of the terms. 2) Change the dcterms:type controlled vocabulary to be purely Dublin Core. Change the documentation to reflect this change and add a formal Decision. 3) Change the controlled vocabulary recommendation for basisOfRecord to reflect biodiversity-specific terms (PreservedSpecimen, HumanObservation, etc.) as string literals. Add a formal Decision. 4) Dispense with the idea of the recordClass. This term would only be useful in flat text-based files, and it's functionality can be achieved (albeit with slightly more complexity) with the basisOfRecord.
I will prepare these changes, ready to commit them next week if there is no cry of outrage. If there is a cry, I'll do my best to accommodate it.
John
On Thu, Nov 26, 2009 at 1:24 PM, Lee Belbin leebel@netspace.net.au wrote:
Hi John
This issue was on the agenda for the Executive Committee meeting but we did not get time in Montpellier to address it. DwC is moving faster than the Exec so until we can define an updated strategy, I'd suggest that you move as you think best. The issues that come to my mind are
That we have to be careful not to generate a target that moves
faster than community acceptance. The Wiki approach to life is fine for emerging understanding but the punctuated component of punctuated equilibrium needs more considered thought when applied to standards.
TDWG’s process was designed with consensus to the fore. Proposed
changes to the ‘standard’ need consensus approval by the ‘Darwin Core community’
Do we need an independent (of the Darwin Core Community)
person/group to ‘sign off’ on updates as we do now? If the person/group is independent, then they are likely to know less than the community that developed the standard. If they are a group of more than 3, they probably move slowly.
Lee
Lee Belbin
TDWG Secretariat
On Tue, Nov 17, 2009 at 8:15 PM, John R. WIECZOREK tuco@berkeley.edu wrote:
Dear TAG,
On 23 October a solution to existing problems with the use of dwc:basisOfRecord and dcterms:type as published in the current Darwin Core standard was proposed. Discussions on tdwg-content leading up to and since that proposal support the addition of a term called recordClass as the pragmatic approach that requires less ongoing management than an alternative invoking a new type vocabulary. This message is to forge the way to the first Darwin Core term changes following the published Namespace Policy (http://rs.tdwg.org/dwc/terms/namespace/index.htm#classesofchanges). The proposed changes fall under two of the classes of changes, 3.3 (Semantic changes in Darwin Core terms) and 3.4 (Addition of Darwin Core terms declarations to existing Darwin Core namespaces). I propose to draft Decisions (see http://rs.tdwg.org/dwc/terms/history/decisions/index.htm) for review by the TAG following the 30-day prescribed review period (next week). I just wanted to send this introductory message in anticipation to open up the floor for any questions or commentary, as this is the first time this process has been invoked.
John
participants (2)
-
Bob Morris
-
John R. WIECZOREK