<relation>

<relation> (relazione) descrive una qualsiasi relazione o legame all'interno di un determinato gruppo di persone [13.3.2.3 Personal Relationships]
Modulonamesdates — Names, Dates, People, and Places
Attributiatt.global (@xml:id, @n, @xml:lang, @xml:base, @xml:space) (att.global.rendition (@rend, @style, @rendition)) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change)) (att.global.responsibility (@cert, @resp)) att.datable (@calendar, @period) (att.datable.w3c (@when, @notBefore, @notAfter, @from, @to)) (att.datable.iso (@when-iso, @notBefore-iso, @notAfter-iso, @from-iso, @to-iso)) (att.datable.custom (@when-custom, @notBefore-custom, @notAfter-custom, @from-custom, @to-custom, @datingPoint, @datingMethod)) att.editLike (@evidence, @instant) (att.dimensions (@unit, @quantity, @extent, @precision, @scope) (att.ranging (@atLeast, @atMost, @min, @max, @confidence)) ) (att.source (@source)) att.canonical (@key, @ref) att.sortable (@sortKey) att.typed (@type, @subtype)
nameassegna un nome al tipo di relazione che rappresenta
Stato Opzionale
Tipo di dati

<rng:ref name="data.enumerated"/>
data.enumerated
activeidentifica i partecipanti attivi in una relazione di non reciprocità, oppure tutti i partecipanti in una relazione di reciprocità
Stato Opzionale
Tipo di dati 1–∞ occorrenze di 

<rng:ref name="data.pointer"/>
data.pointer
separato da spazio bianco
mutualfornisce una lista di partecipanti tra i quali c'è una relazione paritaria
Stato Opzionale
Tipo di dati 1–∞ occorrenze di 

<rng:ref name="data.pointer"/>
data.pointer
separato da spazio bianco
passiveidentifica i partecipanti ‘passivi’all'interno di una relazione di non reciprocità.
Stato Opzionale
Tipo di dati 1–∞ occorrenze di 

<rng:ref name="data.pointer"/>
data.pointer
separato da spazio bianco
Contenuto in
Può contenere
core: desc
Dichiarazione

<rng:element name="relation">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.rendition.attributes"/>
 <rng:ref name="att.global.linking.attributes"/>
 <rng:ref name="att.global.analytic.attributes"/>
 <rng:ref name="att.global.facs.attributes"/>
 <rng:ref name="att.global.change.attributes"/>
 <rng:ref name="att.global.responsibility.attributes"/>
 <rng:ref name="att.datable.attributes"/>
 <rng:ref name="att.datable.w3c.attributes"/>
 <rng:ref name="att.datable.iso.attributes"/>
 <rng:ref name="att.datable.custom.attributes"/>
 <rng:ref name="att.editLike.attributes"/>
 <rng:ref name="att.dimensions.attributes"/>
 <rng:ref name="att.ranging.attributes"/>
 <rng:ref name="att.source.attributes"/>
 <rng:ref name="att.canonical.attributes"/>
 <rng:ref name="att.sortable.attributes"/>
 <rng:ref name="att.typed.attributes"/>
 <rng:optional>
  <rng:attribute name="name">
   <rng:ref name="data.enumerated"/>
  </rng:attribute>
 </rng:optional>
 <rng:choice>
  <rng:optional>
   <rng:attribute name="active">
    <rng:list>
     <rng:oneOrMore>
      <rng:ref name="data.pointer"/>
     </rng:oneOrMore>
    </rng:list>
   </rng:attribute>
  </rng:optional>
  <rng:optional>
   <rng:attribute name="mutual">
    <rng:list>
     <rng:oneOrMore>
      <rng:ref name="data.pointer"/>
     </rng:oneOrMore>
    </rng:list>
   </rng:attribute>
  </rng:optional>
 </rng:choice>
 <rng:optional>
  <rng:attribute name="passive">
   <rng:list>
    <rng:oneOrMore>
     <rng:ref name="data.pointer"/>
    </rng:oneOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:ref name="desc"/>
 </rng:optional>
</rng:element>
element relation
{
   att.global.attributes,
   att.global.rendition.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   att.global.responsibility.attributes,
   att.datable.attributes,
   att.datable.w3c.attributes,
   att.datable.iso.attributes,
   att.datable.custom.attributes,
   att.editLike.attributes,
   att.dimensions.attributes,
   att.ranging.attributes,
   att.source.attributes,
   att.canonical.attributes,
   att.sortable.attributes,
   att.typed.attributes,
   attribute name { data.enumerated }?,
   (
      attribute active { list { data.pointer+ } }?
    | attribute mutual { list { data.pointer+ } }?
   ),
   attribute passive { list { data.pointer+ } }?,
   desc?
}
Schematron

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

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

<s:report test="@passive and not(@active)">the attribute 'passive'
may be supplied only if the attribute 'active' is
supplied</s:report>
Esempio
<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.

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

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

Esempio
<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.

Esempio
<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).