<?xml version='1.0' encoding='ISO-8859-1'?>
<!--
  todo: 
  RecordType:
  Both: two rdf:types?
  GuideTerm, HierarchyName: check their existence (not in samples)
  TermType
  deviant list of values (nound, adjective): check
-->

<!DOCTYPE rdf:RDF [
    <!ENTITY rdf 	"http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <!ENTITY rdfs 	"http://www.w3.org/2000/01/rdf-schema#">
    <!ENTITY owl  	"http://www.w3.org/2002/07/owl#" >
    <!ENTITY xsd 	"http://www.w3.org/2001/XMLSchema#">
    <!ENTITY vp         "http://www.getty.edu/vocabularies/vp#">
    <!ENTITY tgn        "http://www.getty.edu/vocabularies/tgn#">
]>

<rdf:RDF 
    xml:base		="http://www.getty.edu/vocabularies/tgn"
    xmlns		="&tgn;"
    xmlns:vp		="&vp;"
    xmlns:rdf		="&rdf;"
    xmlns:rdfs		="&rdfs;"
    xmlns:xsd           ="&xsd;"
    xmlns:owl		="&owl;">

<owl:Ontology rdf:about="">
  <rdfs:seeAlso> http://www.getty.edu/research/conducting_research/vocabularies/tgn/tgn_xml_dd04.pdf</rdfs:seeAlso>
  <rdfs:comment>
    This ontology contains the TGN-specific classes and properties 
    of the Getty thesaurus TGN. The schema is derived from the XML Schema 
    file at the Getty website (see the seeAlso link), Revision and 
    source information is notincluded. 
  </rdfs:comment>
</owl:Ontology>

<rdfs:Class rdf:ID="Subject"
	rdfs:label="TGN Subject"
  rdfs:comment="All subjects in TGN are places">
  <rdfs:subClassOf rdf:resource="&vp;Subject"/>
</rdfs:Class>

<rdfs:Class rdf:ID="Place"
	rdfs:label="Place">
  <rdfs:subClassOf rdf:resource="#Subject"/>
</rdfs:Class>

<rdfs:Class rdf:ID="AdministrativePlace"
	rdfs:label="Administrative Place">
  <rdfs:subClassOf rdf:resource="#Place"/>
</rdfs:Class>

<rdfs:Class rdf:ID="PhysicalPlace"
	rdfs:label="Physical Place">
  <rdfs:subClassOf rdf:resource="#Place"/>
</rdfs:Class>

<rdfs:Class rdf:ID="Facet">
  <rdfs:subClassOf rdf:resource="#Subject"/>
</rdfs:Class>

<rdfs:Class rdf:ID="PlaceType">
  <rdfs:subClassOf rdf:resource="#Subject"/>
  <rdfs:comment>
Types of places as defined in tgn_ptypes.xml are created as instances of
this class. The placetype is associated using the properties
tgn:placeTypePreferred and tgn:placetypeNonPreferred.
  </rdfs:comment>
</rdfs:Class>

<rdf:Property rdf:ID="placeType">
  <rdfs:comment>
    Supertype for placeTypePreferred and placetypeNonPreferred
  </rdfs:comment>
  <rdfs:domain rdf:resource="#Subject"/>
  <rdfs:range rdf:resource="#PlaceType"/>
</rdf:Property>

<rdf:Property rdf:ID="placeTypePreferred">
  <rdfs:comment>
    Preferred catgorisation of the place
  </rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="#placeType"/>
</rdf:Property>

<rdf:Property rdf:ID="placeTypeNonPreferred">
  <rdfs:comment>
    Non-Preferred catgorisation of the place
  </rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="#placeType"/>
</rdf:Property>

<rdf:Property rdf:ID="coordinateLatitudeLongitude">
  <rdfs:comment>
    Supertype for the six latinus/longitude proerties. The decimal value 
    should be between -90 and +90 (for latitude) or -180 and +180 
    (longitude). 
  </rdfs:comment>
  <rdfs:domain rdf:resource="#Subject"/>
  <rdfs:range rdf:resource="&xsd;decimal"/>
</rdf:Property>

<rdf:Property rdf:ID="standardLatitude">
  <rdfs:subPropertyOf rdf:resource="#coordinateLatitudeLongitude"/>
</rdf:Property>

<!-- JW: Shouldn't we be using a blank-node in between? -->

<rdf:Property rdf:ID="standardLongitude">
  <rdfs:subPropertyOf rdf:resource="#coordinateLatitudeLongitude"/>
</rdf:Property>

<rdf:Property rdf:ID="boudingLatitudeLeast">
  <rdfs:subPropertyOf rdf:resource="#coordinateLatitudeLongitude"/>
</rdf:Property>

<rdf:Property rdf:ID="boudingLatitudeMost">
  <rdfs:subPropertyOf rdf:resource="#coordinateLatitudeLongitude"/>
</rdf:Property>

<rdf:Property rdf:ID="boudingLongitudeLeast">
  <rdfs:subPropertyOf rdf:resource="#coordinateLatitudeLongitude"/>
</rdf:Property>

<rdf:Property rdf:ID="boudingLongitudeMost">
  <rdfs:subPropertyOf rdf:resource="#coordinateLatitudeLongitude"/>
</rdf:Property>

<rdf:Property rdf:ID="elevation">
  <rdfs:domain rdf:resource="#Subject"/>
  <rdfs:range rdf:resource="&xsd;decimal"/>
  <rdfs:comment>
Elevation in meters.
  </rdfs:comment>
</rdf:Property>

<rdfs:Class rdf:about="&xsd;decimal">
  <rdfs:subClassOf rdf:resource="&rdfs;Literal"/>
</rdfs:Class>


<!-- additional recordTypes represented as subclasses 
  assert both subclasses if value is "Both"
-->

<rdfs:Class rdf:ID="Noun"
	rdfs:label="Noun">
  <rdfs:subClassOf rdf:resource="&vp;Term"/>
</rdfs:Class>

<rdfs:Class rdf:ID="Adjectival"
	rdfs:label="Adjectival">
  <rdfs:subClassOf rdf:resource="&vp;Term"/>
</rdfs:Class>

</rdf:RDF>
