[tdwg-content] Has Domain and Has Range for DwC Terms

John R. WIECZOREK tuco at berkeley.edu
Mon Jan 18 18:07:38 CET 2010

Hi Bill,

Sorry for the delay. The Has Domain and Has Range predicates are a
part of the Dublin Core abstract model and are shared with Darwin
Core. The Has Domain predicate is taken directly from RDF schema
(http://www.w3.org/2000/01/rdf-schema#domain) as is defined on
http://dublincore.org/documents/abstract-model/ as:

"Each property may be related to one or more classes by a has domain
relationship. Where it is stated that a property has such a
relationship with a class and the property is part of a property/value
pair, it follows that the described resource is an instance of that

All Has Domain relationships in Darwin Core were omitted specifically
because it was argued that DwC property terms cannot necessarily imply
class instances. This may not be universally true, but a good example
is the property dwc:scientificName. Is that a property of a dwc:Taxon?
That is to say, if you found a resource having a property
dwc:scientificName, would it necessarily have to be a Taxon? No. It
might be an Occurrence, or it might be a StillImage. So, in DwC we
removed all Has Domain relationships that we originally used to group
properties in classes and created a new predicate "organizedInClass"
to suggest natural groupings of terms in classes without committing
properties to Class with Has Domain.

Instead of implying that a resource is an instance of a class by
virtue of having a particular property, Has Range says something about
what kind of class the *value* of the property must be. Darwin Core
doesn't have any of these either, although some borrowed Dublin Core
properties do have Has Range specified, such as dcterms:rightsHolder,
for which the range is http://purl.org/dc/terms/Agent - saying that
any value for the property dcterms:rightsHolder has to be a member of
the dcterms:Agent class.

Simple summary:
If a resource (record, row) has a property (field, column) and that
property is related to a Class via Has Domain, then that resource is
an instance of that Class. Machine reasoning would conclude that the
resource is an example of that Class because it has that property.
If a property has a value and the property is defined with Has Range
being some Class, then the value is an example of that Class. Machine
reasoning would conclude that the value is an example of that Class
because the property is defined to use an instance of that Class as
its value.

Hope that helps,


On Mon, Jan 4, 2010 at 9:45 AM, Moen, William <William.Moen at unt.edu> wrote:
> As part of our work on the Apiary Project, http://www.apiaryproject.org/content/apiary-home, we are using DwC as the foundational vocabulary for our metadata requirements. The question we currently have relates to the Has Domain and Has Range parameters for the DwC terms as listed in the Complete Historical Record:
> http://rs.tdwg.org/dwc/terms/history/index.htm
> We have been reading a number of Dublin Core as well as DwC docs to get an understanding, but it would be very helpful to hear from those of you who have worked with these parameters in DwC.
> Thanks.
> Bill
> ----------------------------------------------------------------------------------------------
> William Moen, Ph.D.
> Director of Research
> Director, Texas Center for Digital Knowledge (TxCDK)
> Associate Professor, Department of Library and Information Sciences
> College of Information, University of North Texas
> 1155 Union Circle 311068, Denton, Texas 76203-5017
> Email: William.Moen at unt.edu
> Website: http://www.unt.edu/wmoen
> Voice: 940-565-2473 (TxCDK) or 565-3563 (LIS)
> Fax: 940-369-7872
> _______________________________________________
> tdwg-content mailing list
> tdwg-content at lists.tdwg.org
> http://lists.tdwg.org/mailman/listinfo/tdwg-content

More information about the tdwg-content mailing list