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