<relation>

<relation> (relationship) describes any kind of relationship or linkage amongst a specified group of places, events, persons, objects or other items. [13.3.2.3. Personal Relationships]
Modulenamesdates
Attributes
calendarindicates one or more systems or calendars to which the date represented by the content of this element belongs.
Deprecatedwill be removed on 2024-11-11
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
Schematron

<sch:rule context="tei:*[@calendar]">
<sch:assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
systems or calendars to which the date represented by the content of this element belongs,
but this <sch:name/> element has no textual content.</sch:assert>
</sch:rule>
namesupplies a name for the kind of relationship of which this is an instance.
Status Optional
Datatype teidata.enumerated
activeidentifies the ‘active’ participants in a non-mutual relationship, or all the participants in a mutual one.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
mutualsupplies a list of participants amongst all of whom the relationship holds equally.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
passiveidentifies the ‘passive’ participants in a non-mutual relationship.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
Contained by
May contain
core: desc
Note

Only one of the attributes active and mutual may be supplied; the attribute passive may be supplied only if the attribute active is supplied. Not all of these constraints can be enforced in all schema languages.

Example
<relation type="socialname="supervisor"
 active="#p1passive="#p2 #p3 #p4"/>

This indicates that the person with identifier p1 is supervisor of persons p2, p3, and p4.

Example
<relation type="personalname="friends"
 mutual="#p2 #p3 #p4"/>

This indicates that p2, p3, and p4 are all friends.

Example
<relation type="CRM"
 name="P89_falls_within"
 active="http://id.clarosnet.org/places/metamorphoses/place/italy-orvieto"
 passive="http://id.clarosnet.org/places/metamorphoses/country/IT"/>

This indicates that there is a relation, defined by CIDOC CRM, between two resources identified by URLs.

Example
<relation resp="http://viaf.org/viaf/44335536/"
 ref="http://purl.org/saws/ontology#isVariantOf"
 active="http://www.ancientwisdoms.ac.uk/cts/urn:cts:greekLit:tlg3017.Syno298.sawsGrc01:divedition.divsection1.o14.a107"
 passive="http://data.perseus.org/citations/urn:cts:greekLit:tlg0031.tlg002.perseus-grc1:9.35"/>

This example records a relationship, defined by the SAWS ontology, between a passage of text identified by a CTS URN, and a variant passage of text in the Perseus Digital Library, and assigns the identification of the relationship to a particular editor (all using resolvable URIs).

Schematron

<sch:assert test="@ref or @key or @name">One of the attributes 'name', 'ref' or 'key' must be supplied</sch:assert>
Schematron

<sch:report test="@active and @mutual">Only one of the attributes @active and @mutual may be supplied</sch:report>
Schematron

<sch:report test="@passive and not(@active)">the attribute 'passive' may be supplied only if the attribute 'active' is supplied</sch:report>
Content model
<content>
 <elementRef key="descminOccurs="0"/>
</content>
Schema Declaration
element relation
{
   tei_att.global.attributes,
   tei_att.datable.attributes,
   tei_att.editLike.attributes,
   tei_att.canonical.attributes,
   tei_att.sortable.attributes,
   tei_att.typed.attributes,
   attribute calendar { list { teidata.pointer+ } }?,
   attribute name { teidata.enumerated }?,
   (
      attribute active { list { teidata.pointer+ } }?
    | attribute mutual { list { teidata.pointer+ } }?
   ),
   attribute passive { list { teidata.pointer+ } }?,
   tei_desc?
}