The domain is one of two entities in a triple, representing the subject in a subject-predicate-object relationship. In Resource Description Framework Schema (RDFS), the scope (rdfs:domain) and the set of allowable values (rdfs:range) are defined for a given property. At its simplest, the domain is the class for which the property is defined, with the range (or object) comprising a value for the domain. A simple example might be that a dog is a type of corgi, with the dog representing the domain, the property being a type relationship, and corgi representing the range of this “type” property.
In CIDOC CRM, property names are meant to be read moving from domain to range, but ultimately it is possible to read and construct triples from range to domain using an inverse property (given in parentheticals, or constructed using an i to indicate inverse). Shifting from domain-predicate-range to range-predicate-domain is analogous to shifting from an active to a passive voice in a sentence construction.
- In the following TTL snippet, LIII Frederico Elodi is the domain in the predicate relationship (P102_has_title), meaning that it is the subject of that triple.
a crm:E22_Man-Made_Object ;
rdfs:label "LIII Frederico Elodi"@en ;
crm:P102_has_title <http://id.lincsproject.ca/FOuyTD5XkxE> ;