<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE rdf:RDF [
    <!ENTITY owl 'http://www.w3.org/2002/07/owl#'>
    <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
    <!ENTITY vp 'http://www.getty.edu/vocabularies/vp#'>
    <!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'>
]>

<rdf:RDF
    xmlns:owl="&owl;"
    xmlns:rdf="&rdf;"
    xmlns:rdfs="&rdfs;"
    xmlns:vp="&vp;"
    xmlns:xsd="&xsd;"
>
<owl:Ontology rdf:about="http://www.getty.edu/vocabularies/vp">
  <rdfs:seeAlso rdf:resource="http://www.getty.edu/research/conducting_research/vocabularies/aat/aat_xml_dd04.pdf" />
  <rdfs:seeAlso rdf:resource="http://www.getty.edu/research/conducting_research/vocabularies/ulan/ulan_xml_dd04.pdf" />
  <rdfs:seeAlso rdf:resource="http://www.getty.edu/research/conducting_research/vocabularies/tgn/tgn_xml_dd04.pdf" />
  <rdfs:comment>    This ontology contains the common classes and properties of the Getty 
    thesauri AAT, ULAN, and TGN. The schema is derived from the XML Schema 
    files at the Getty website (see the seeAlso links), Revision and 
    source information is notincluded. 
  </rdfs:comment>
</owl:Ontology>

<rdfs:Class rdf:about="&vp;Subject"
	rdfs:label="Getty Subject">
  <rdfs:comment>    rdf:ID =&gt; Subject.SubjectID
    rdfs:label =&gt; Subject.Terms.Preferred_Term
    subclass =&gt; Subject.Record_Type
  </rdfs:comment>
</rdfs:Class>

<rdf:Property rdf:about="&vp;descriptiveNote"
    rdfs:comment="    object =&gt; Subject.Descriptive_Note.Note_Text   ">
  <rdfs:domain rdf:resource="&vp;Subject"/>
  <rdfs:range rdf:resource="&rdfs;Literal"/>
</rdf:Property>

<rdf:Property rdf:about="&vp;labelNonPreferred"
    rdfs:comment="    object =&gt; Subject.Non-Preferred_Term.Term_Text   ">
  <rdfs:domain rdf:resource="&vp;Subject"/>
  <rdfs:range rdf:resource="&rdfs;Literal"/>
  <rdfs:subPropertyOf rdf:resource="&rdfs;label"/>
</rdf:Property>

<rdf:Property rdf:about="&vp;labelPreferred"
    rdfs:comment="    object =&gt; Subject.Preferred_Term.Term_Text   ">
  <rdfs:domain rdf:resource="&vp;Subject"/>
  <rdfs:range rdf:resource="&rdfs;Literal"/>
  <rdfs:subPropertyOf rdf:resource="&rdfs;label"/>
</rdf:Property>

<rdf:Property rdf:about="&vp;timedRelation">
  <rdfs:comment>    To be used as an abstract super property for those properties 
    on which time information can be defined: 
      1. historicFlag
      2. startDate, 
      3. endDate
    Consider to represent this info with reification of the 
    relation; no schema can be specified
  </rdfs:comment>
</rdf:Property>

<rdf:Property rdf:about="&vp;typedRelation">
  <rdfs:comment>    To be used as an abstract super property for those properties 
    that can have different relationship types.
    on which time information can be definesd: 
      1. historicFlag
      2. startDate, 
      3. endDate
    Consider to represent this as subproperties of the target
    property.
    For example, in ULAN the associatedWith property can have
    subtypes such as teacherOf, patronWas, ...
    Alternative is representation via reification.
    Consider only using this for relations with different values for
    the relationship type. For example, the parent property has 
    in the XML Schem a relationshipType property, but it value 
    seems to be always parent/child, so this info can be omitted. 
  </rdfs:comment>
</rdf:Property>

<rdfs:Class rdf:about="&vp;Term">
  <rdfs:comment>    rdf:ID = Term_ID
    rdfs:label = Term_Text
    subclass = Term_Type
  </rdfs:comment>
</rdfs:Class>

<rdfs:Class rdf:about="&vp;VernacularTerm"
    rdfs:comment="term in host language">
  <rdfs:subClassOf rdf:resource="&vp;Term"/>
</rdfs:Class>

<rdfs:Class rdf:about="&vp;NonVernacularTerm">
  <rdfs:subClassOf rdf:resource="&vp;Term"/>
</rdfs:Class>

<rdf:Property rdf:about="&vp;term">
  <rdfs:domain rdf:resource="&vp;Subject"/>
  <rdfs:range rdf:resource="&vp;Term"/>
  <rdfs:subPropertyOf rdf:resource="&vp;timedRelation"/>
</rdf:Property>

<rdfs:Class rdf:about="&vp;Descriptor">
  <rdfs:subClassOf rdf:resource="&vp;Term"/>
</rdfs:Class>

<rdfs:Class rdf:about="&vp;AlternateDescriptor">
  <rdfs:subClassOf rdf:resource="&vp;Term"/>
</rdfs:Class>

<rdfs:Class rdf:about="&vp;UseForTerm">
  <rdfs:subClassOf rdf:resource="&vp;Term"/>
</rdfs:Class>

<rdf:Property rdf:about="&vp;termPreferred"
    rdfs:comment="    object =&gt; Subject.Terms.Preferred_Term.Term_ID   ">
  <rdf:type rdf:resource="&owl;FunctionalProperty"/>
  <rdfs:subPropertyOf rdf:resource="&vp;term"/>
</rdf:Property>

<rdf:Property rdf:about="&vp;termNonPreferred"
    rdfs:comment="    object =&gt; Subject.Terms.Non-Preferred_Term.Term_ID   ">
  <rdfs:subPropertyOf rdf:resource="&vp;term"/>
</rdf:Property>

<rdf:Property rdf:about="&vp;associatedWith">
  <rdfs:domain rdf:resource="&vp;Subject"/>
  <rdfs:range rdf:resource="&vp;Subject"/>
  <rdfs:subPropertyOf rdf:resource="&vp;timedRelation"/>
</rdf:Property>

<rdf:Property rdf:about="&vp;parent"
   rdfs:label="parent">
  <rdfs:domain rdf:resource="&vp;Subject"/>
  <rdfs:range rdf:resource="&vp;Subject"/>
</rdf:Property>

<rdf:Property rdf:about="&vp;parentPreferred"
  rdfs:label="preferred parent">
  <rdf:type rdf:resource="&owl;FunctionalProperty"/>
  <rdf:type rdf:resource="&owl;TransitiveProperty"/>
  <rdfs:comment>    object =&gt; Subject.Parent_Relationships.Preferred_Parent.Parent_Subject_ID
  </rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&vp;parent"/>
</rdf:Property>

<rdf:Property rdf:about="&vp;parentNonPreferred"
  rdfs:label="non-preferred parent">
  <rdfs:comment>    object =&gt; Subject.Parent_Relationships.Non-Preferred_Parent.Parent_Subject_ID
  </rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&vp;parent"/>
</rdf:Property>

<rdf:Property rdf:about="&vp;georgianDate">
  <rdfs:range rdf:resource="&xsd;Year"/>
</rdf:Property>

<rdf:Property rdf:about="&vp;startDate">
  <rdfs:subPropertyOf rdf:resource="&vp;georgianDate"/>
</rdf:Property>

<rdf:Property rdf:about="&vp;endDate">
  <rdfs:subPropertyOf rdf:resource="&vp;georgianDate"/>
</rdf:Property>

<rdf:Property rdf:about="&vp;historicFlag">
  <rdfs:range rdf:resource="&vp;HistoricFlagValue"/>
</rdf:Property>


<rdfs:Class rdf:about="&vp;HistoricFlagValue">
  <owl:oneOf rdf:parseType="Collection">
      <rdfs:Class rdf:about="Both"/>
      <rdfs:Class rdf:about="Current"/>
      <rdfs:Class rdf:about="Historical"/>
      <rdfs:Class rdf:about="NA"/>
      <rdfs:Class rdf:about="Undetermined"/>
  </owl:oneOf>
</rdfs:Class>

<rdf:Property rdf:about="&vp;id"
    rdfs:label="id">
  <rdfs:domain rdf:resource="&vp;Subject"/>
  <rdfs:range rdf:resource="&rdfs;Literal"/>
</rdf:Property>

</rdf:RDF>
