PREFIX ic: <http://ontology.eil.utoronto.ca/icontact.owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

ic:CottageAddress a rdfs:Class ;
  rdfs:label "Cottage Address"@en ;
  rdfs:subClassOf ic:Address .

ic:hasStreetDirection a rdf:Property ;
  rdfs:label "has Street Direction"@en ;
  rdfs:domain ic:Address ;
  rdfs:range ic:StreetDirection ;
  rdfs:subPropertyOf ic:addressProperty .

ic:hasStreet a rdf:Property ;
  rdfs:label "has Street"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:addressDataProperty .

ic:hasCitySection a rdf:Property ;
  rdfs:label "has City Section"@en ;
  rdfs:comment "The section of the city where the address is located.  Often used in countries like England, India and Japan."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:addressDataProperty .

ic:hasAddressType a rdf:Property ;
  rdfs:label "has Address Type"@en ;
  rdfs:domain ic:Address ;
  rdfs:range ic:AddressType ;
  rdfs:subPropertyOf ic:addressProperty .

ic:hasStreetType a rdf:Property ;
  rdfs:label "has Street Type"@en ;
  rdfs:domain ic:Address ;
  rdfs:range ic:StreetType ;
  rdfs:subPropertyOf ic:addressProperty .

ic:hasUnitNumber a rdf:Property ;
  rdfs:label "has Unit Number"@en ;
  rdfs:range xsd:nonNegativeInteger ;
  rdfs:subPropertyOf ic:addressDataProperty .

<http://www.w3.org/2003/01/geo/wgs84_pos#lat> a rdf:Property ;
  rdfs:label "lattitude"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:addressDataProperty .

ic:hasPostalCode a rdf:Property ;
  rdfs:label "has Postal Code"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:addressDataProperty .

ic:addressProperty a rdf:Property ;
  rdfs:domain ic:Address ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf ic:contactProperty .

ic:hasBuilding a rdf:Property ;
  rdfs:label "has Building"@en ;
  rdfs:comment "The building where the address is located.  Often used in countries like England, India and Japan."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:addressDataProperty .

<http://www.w3.org/2003/01/geo/wgs84_pos#long> a rdf:Property ;
  rdfs:label "longitude"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:addressDataProperty .

<http://schema.org/Country> a rdfs:Class ;
  rdfs:subClassOf ic:SchemaOrgThing .

ic:Address a rdfs:Class ;
  rdfs:label "Address"@en ;
  rdfs:comment """Address is the main concept for a contact.  It has been designed to represent any type of address in the world, including India and the UK.  For example, the property hasBuilding is important in many UK and Indian addresses to further identify the person or business location.

Street information is divided into separate properties to fully indentify direction (hasStreetDirection), Type (hasStreetType), etc.  See the associated list of properties for more."""@en ;
  rdfs:subClassOf ic:iContactThing .

ic:WorkAddress a rdfs:Class ;
  rdfs:label "Work Address"@en ;
  rdfs:subClassOf ic:Address .

ic:HoursOfOperation a rdfs:Class ;
  rdfs:comment "HoursOfOperation class provides the ability to define when the contact \"opens\" and \"closes\". Used for businesses."@en ;
  rdfs:subClassOf ic:iContactThing .

ic:dayofWeek a rdf:Property ;
  rdfs:comment "Specifies the day of the week, e.g., Monday, that the times apply to.  This is the default for that day and can be overidden by the \"hasDate\" property."@en ;
  rdfs:range ic:DaysOfWeek ;
  rdfs:subPropertyOf ic:OperatingProperty .

ic:hasOpeningTime a rdf:Property ;
  rdfs:label "has Opening Time"@en ;
  rdfs:range xsd:dateTime ;
  rdfs:subPropertyOf ic:operatingDataProperty .

ic:hasClosingTime a rdf:Property ;
  rdfs:label "has Closing Time"@en ;
  rdfs:range xsd:dateTime ;
  rdfs:subPropertyOf ic:operatingDataProperty .

ic:PhoneNumber a rdfs:Class ;
  rdfs:label "Phone Number"@en ;
  rdfs:comment "PhoneNumber is another core class. It is divided into country code, and phone number."@en ;
  rdfs:subClassOf ic:iContactThing .

ic:hasPhoneType a rdf:Property ;
  rdfs:label "has Phone Type"@en ;
  rdfs:range ic:PhoneType ;
  rdfs:subPropertyOf ic:contactProperty .

ic:HomeAddress a rdfs:Class ;
  rdfs:label "Home Address"@en ;
  rdfs:subClassOf ic:Address .

ic:FaxNumber a rdfs:Class ;
  rdfs:label "Fax Telephone Number"@en ;
  rdfs:subClassOf ic:PhoneNumber .

ic:iContactThing a rdfs:Class .

ic:CellNumber a rdfs:Class ;
  rdfs:label "Mobile Telephone Number"@en ;
  rdfs:subClassOf ic:PhoneNumber .

ic:SchemaOrgThing a rdfs:Class .

<http://schema.org/City> a rdfs:Class ;
  rdfs:subClassOf ic:SchemaOrgThing .

ic:HomeNumber a rdfs:Class ;
  rdfs:label "Home Telephone Number"@en ;
  rdfs:subClassOf ic:PhoneNumber .

<http://schema.org/State> a rdfs:Class ;
  rdfs:subClassOf ic:SchemaOrgThing .

ic:TollFreeNumber a rdfs:Class ;
  rdfs:label "Toll  Free Telephone Number"@en ;
  rdfs:subClassOf ic:PhoneNumber .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object"@en .

ic:WorkNumber a rdfs:Class ;
  rdfs:label "Work Telephone Number"@en ;
  rdfs:subClassOf ic:PhoneNumber .

<http://schema.org/GeoCoordinates> a rdfs:Class ;
  rdfs:subClassOf ic:SchemaOrgThing .

ic:OperatingProperty a rdf:Property ;
  rdfs:comment "Properties that define the hours of operation of the contact."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:contactProperty .

ic:addressDataProperty a rdf:Property ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:hasContactDataProperty .

ic:contactProperty a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

ic:emailDataProperty a rdf:Property ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:hasContactDataProperty .

ic:hasAddress a rdf:Property ;
  rdfs:comment "hasAddress links any class to the Address class."@en ;
  rdfs:range ic:Address ;
  rdfs:subPropertyOf ic:contactProperty .

ic:hasAreaCode a rdf:Property ;
  rdfs:label "has Area Code"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:telephoneDataProperty .

ic:hasCity a rdf:Property ;
  rdfs:comment "has City"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:addressProperty .

ic:hasContactDataProperty a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

ic:hasCountry a rdf:Property ;
  rdfs:label "has Country"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:addressProperty .

ic:hasCountryCode a rdf:Property ;
  rdfs:label "has Country Code"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:telephoneDataProperty .

ic:hasDate a rdf:Property ;
  rdfs:label "has Date"@en ;
  rdfs:comment "Specifies the opening and closing times for a specific date.  For example, used to provide times for a holiday which deviates from the norm."@en ;
  rdfs:range xsd:dateTime ;
  rdfs:subPropertyOf ic:operatingDataProperty .

ic:hasEmail a rdf:Property ;
  rdfs:label "has Email"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:contactProperty .

ic:hasGeoCoordinates a rdf:Property ;
  rdfs:label "has Geo Coordinates"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:addressProperty .

ic:hasLocation a rdf:Property ;
  rdfs:label "has Location"@en ;
  rdfs:comment "Closet street intersection for the organization."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:hasContactDataProperty .

ic:hasOperatingHours a rdf:Property ;
  rdfs:label "has Operating Hours"@en ;
  rdfs:range ic:HoursOfOperation ;
  rdfs:subPropertyOf ic:OperatingProperty .

ic:hasPersonalEmail a rdf:Property ;
  rdfs:label "has Personal Email"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:emailDataProperty .

ic:hasPhoneNumber a rdf:Property ;
  rdfs:label "has Phone Number"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:telephoneDataProperty .

ic:hasState a rdf:Property ;
  rdfs:label "has State"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:addressProperty .

ic:hasStreetNumber a rdf:Property ;
  rdfs:label "has Street Number"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:addressDataProperty .

ic:hasTelephone a rdf:Property ;
  rdfs:label "has Telephone"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:contactProperty .

ic:hasWebSite a rdf:Property ;
  rdfs:label "has Web Site"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:hasContactDataProperty .

ic:hasWorkEmail a rdf:Property ;
  rdfs:label "has Work Email"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:emailDataProperty .

ic:operatingDataProperty a rdf:Property ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:hasContactDataProperty .

ic:telephoneDataProperty a rdf:Property ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ic:hasContactDataProperty .

ic:StreetType a rdfs:Class ;
  rdfs:label "Street Type"@en ;
  rdfs:subClassOf ic:iContactThing .

ic:Drive a ic:StreetType ;
  rdfs:label "Drive"@en .

ic:Circle a ic:StreetType ;
  rdfs:label "Circle"@en .

ic:Boulevard a ic:StreetType ;
  rdfs:label "Boulevard"@en .

ic:Crescent a ic:StreetType ;
  rdfs:label "Crescent"@en .

ic:Avenue a ic:StreetType ;
  rdfs:label "Avenue"@en .

ic:Road a ic:StreetType ;
  rdfs:label "Road"@en .

ic:Street a ic:StreetType ;
  rdfs:label "Street"@en .

ic:DaysOfWeek a rdfs:Class ;
  rdfs:label "Days of the Week"@en ;
  rdfs:subClassOf ic:iContactThing .

ic:Wednesday a ic:DaysOfWeek ;
  rdfs:label "Wednesday"@en .

ic:Saturday a ic:DaysOfWeek ;
  rdfs:label "Saturday"@en .

ic:Tuesday a ic:DaysOfWeek ;
  rdfs:label "Tuesday"@en .

ic:Friday a ic:DaysOfWeek ;
  rdfs:label "Friday"@en .

ic:Monday a ic:DaysOfWeek ;
  rdfs:label "Monday"@en .

ic:Sunday a ic:DaysOfWeek ;
  rdfs:label "Sunday"@en .

ic:Thursday a ic:DaysOfWeek ;
  rdfs:label "Thursday"@en .

ic:StreetDirection a rdfs:Class ;
  rdfs:label "Street Direction"@en ;
  rdfs:subClassOf ic:iContactThing .

ic:South a ic:StreetDirection ;
  rdfs:label "South"@en .

ic:West a ic:StreetDirection ;
  rdfs:label "West"@en .

ic:East a ic:StreetDirection ;
  rdfs:label "East"@en .

ic:North a ic:StreetDirection ;
  rdfs:label "North"@en .

ic:AddressType a rdfs:Class ;
  rdfs:label "Address Type"@en ;
  rdfs:comment "Different type for home, office, cottage, etc."@en ;
  rdfs:subClassOf ic:iContactThing .

ic:Cottage a ic:AddressType ;
  rdfs:label "Cottage Address"@en .

ic:Home a ic:AddressType ;
  rdfs:label "Home Address"@en .

ic:Work a ic:AddressType ;
  rdfs:label "WorkAddress"@en .

ic:PhoneType a rdfs:Class ;
  rdfs:label "Phone Type"@en ;
  rdfs:comment "Types of phoned include home, cell, work, etc."@en ;
  rdfs:subClassOf ic:iContactThing .

ic:TollFreePhone a ic:PhoneType ;
  rdfs:label "Toll Free Number"@en .

ic:CellPhone a ic:PhoneType ;
  rdfs:label "Cell Phone"@en .

ic:FaxPhone a ic:PhoneType ;
  rdfs:label "Fax Line"@en .

ic:WorkPhone a ic:PhoneType ;
  rdfs:label "Work Phone"@en .

ic:HomePhone a ic:PhoneType ;
  rdfs:label "Home Phone"@en .
