<?xml version="1.0"?>
<?xml-stylesheet href="http://www.w3.org/2002/06/rdfs2html.xsl" type="application/xml"?>
<!DOCTYPE rdf:RDF [
   <!ENTITY cobra "http://daml.umbc.edu/ontologies/cobra/0.4/">
   <!ENTITY rdf    "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
   <!ENTITY rdfs   "http://www.w3.org/2000/01/rdf-schema#">
   <!ENTITY xsd    "http://www.w3.org/2001/XMLSchema#"> 
   <!ENTITY owl    "http://www.w3.org/2002/07/owl#"> 
   <!ENTITY foaf   "http://daml.umbc.edu/ontologies/cobra/0.4/foaf-basic#">
   ]>

<!--
    Author: Harry Chen (mailto:harry.chen@umbc.edu)
            http://umbc.edu/~hchen4/

    Copyright 2003 Harry Chen, All Rights Reserved.
 
    This work is licensed under the Creative Commons Attribution
    License. To view a copy of this license, visit 
    http://creativecommons.org/licenses/by/1.0/ or send a letter to
    Creative Commons, 559 Nathan Abbott Way, Stanford, California
    94305, USA.  
   
    CoBrA Web Site: 
      http://cobra.umbc.edu

    This version: 
      http://daml.umbc.edu/ontologies/cobra/0.4/foaf-basic

    Lastest version:
      http://daml.umbc.edu/ontologies/cobra/

    CVS Version: $Revision: 1.11 $, $Date: 2003/11/07 02:52:50 $
-->
<rdf:RDF  
   xmlns:rdf  = "&rdf;"
   xmlns:rdfs = "&rdfs;"
   xmlns:owl  = "&owl;"
   xmlns:xsd  = "&xsd;"
   xmlns      = "&foaf;"
   xml:base   = "http://daml.umbc.edu/ontologies/cobra/0.4/foaf-basic">
  
  <owl:Ontology rdf:about="&cobra;foaf-basic">
    <owl:versionInfo>0.4</owl:versionInfo>
    <rdfs:label>COBRA-ONT FOAF Ontology</rdfs:label>
    <rdfs:comment>
      A simple Friends-Of-A-Friend ontology, adopted from the FOAF v0.1 and 
      from a module for defining relationships in FOAF
    </rdfs:comment>
  </owl:Ontology>

  <owl:Class rdf:ID="Agent">
    <rdfs:label>Agent</rdfs:label>
    <rdfs:comment>
      A set of all things that do stuff.
    </rdfs:comment>
  </owl:Class>

  <owl:DatatypeProperty rdf:ID="photo">
    <rdfs:label>photo</rdfs:label>
    <rdfs:comment>
      Defines the URI to a photo image of the agent.
      It can be an icon or a picture.
    </rdfs:comment>
    <rdfs:domain rdf:resource="#Agent"/>
    <rdfs:range rdf:resource="&xsd;anyURI"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="homepage">
    <rdfs:label>homepage</rdfs:label>
    <rdfs:comment>
      Defines the homepage of an agent
    </rdfs:comment>
    <rdfs:domain rdf:resource="#Agent"/>
    <rdfs:range rdf:resource="&xsd;anyURI"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="mbox">
    <rdfs:label>mbox</rdfs:label>
    <rdfs:comment>
      Defines the email URI of the agent
    </rdfs:comment>
    <rdfs:domain rdf:resource="#Agent"/>
    <rdfs:range rdf:resource="&xsd;anyURI"/>
  </owl:DatatypeProperty> 

  <owl:DatatypeProperty rdf:ID="name">
    <rdfs:label>name</rdfs:label>
    <rdfs:comment>
      Defines the full name of an agent
    </rdfs:comment>
    <rdfs:domain rdf:resource="#Agent"/>
    <rdfs:range rdf:resource="&xsd;string"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="msnChatID">
    <rdfs:label>msnChatID</rdfs:label>
    <rdfs:comment>
      Defines the MSN chat ID
    </rdfs:comment>
    <rdfs:domain rdf:resource="#Agent"/>
    <rdfs:range rdf:resource="&xsd;string"/>    
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="aimChatID">
    <rdfs:label>aimChatID</rdfs:label>
    <rdfs:comment>
      Defines the AIM chat ID
    </rdfs:comment>
    <rdfs:domain rdf:resource="#Agent"/>
    <rdfs:range rdf:resource="&xsd;string"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="phoneNumber">
    <rdfs:label>phoneNumber</rdfs:label>
    <rdfs:comment>
      Defines the phone numbers of an agent
    </rdfs:comment>
    <rdfs:domain rdf:resource="#Agent"/>
    <rdfs:range rdf:resource="&xsd;string"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="snailMailAddress">
    <rdfs:label>snailMailAddress</rdfs:label>
    <rdfs:comment>
      Defines the mailing address at which the agent can be contacted.
    </rdfs:comment>
    <rdfs:domain rdf:resource="#Agent"/>
    <rdfs:range rdf:resource="&xsd;string"/>
  </owl:DatatypeProperty>

  <!-- Defines a Person -->

  <owl:Class rdf:ID="Person">
    <rdfs:label>Person</rdfs:label>
    <rdfs:comment>
      A set of all human agent.
    </rdfs:comment>

    <rdfs:subClassOf rdf:resource="#Agent"/> 
  </owl:Class>

  <owl:DatatypeProperty rdf:ID="firstName">
    <rdfs:label>firstName</rdfs:label>
    <rdfs:comment>
      Defines the first name of a person
    </rdfs:comment>
    <rdfs:domain rdf:resource="#Person"/>
    <rdfs:range rdf:resource="&xsd;string"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="lastName">
    <rdfs:label>lastName</rdfs:label>
    <rdfs:comment>
      Defines the last name of a person
    </rdfs:comment>
    <rdfs:domain rdf:resource="#Person"/>
    <rdfs:range rdf:resource="&xsd;string"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="middleName">
    <rdfs:label>middleName</rdfs:label>
    <rdfs:comment>
      Defines the middle name of a person
    </rdfs:comment>
    <rdfs:domain rdf:resource="#Person"/>
    <rdfs:range rdf:resource="&xsd;string"/>
  </owl:DatatypeProperty>
  
  <owl:DatatypeProperty rdf:ID="title">
    <rdfs:label>title</rdfs:label>
    <rdfs:comment>
      Defines the professional title of a person
    </rdfs:comment>
    <rdfs:domain rdf:resource="#Person"/>
    <rdfs:range rdf:resource="&xsd;string"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="biography">
    <rdfs:label>biography</rdfs:label>
    <rdfs:comment>
      Defines the biography of a person
    </rdfs:comment>
    <rdfs:domain rdf:resource="#Person"/>
    <rdfs:range rdf:resource="&xsd;string"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="officePhone">
    <rdfs:label>officePhone</rdfs:label>
    <rdfs:comment>
      Defines the office phone of an agent
    </rdfs:comment>
    
    <rdfs:subPropertyOf rdf:resource="#phoneNumber"/>

    <rdfs:domain rdf:resource="#Person"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="mobilePhone">
    <rdfs:label>mobilePhone</rdfs:label>
    <rdfs:comment>
      Defines the mobile phone of an agent
    </rdfs:comment>
    <rdfs:subPropertyOf rdf:resource="#phoneNumber"/>

    <rdfs:domain rdf:resource="#Person"/>
  </owl:DatatypeProperty>
  
  <owl:DatatypeProperty rdf:ID="workAddress">
    <rdfs:label>workAddress</rdfs:label>

    <rdfs:subPropertyOf rdf:resource="#snailMailAddress"/>

    <rdfs:domain rdf:resource="#Person"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="homeAddress">
    <rdfs:label>homeAddress</rdfs:label>

    <rdfs:subPropertyOf rdf:resource="#snailMailAddress"/>

    <rdfs:domain rdf:resource="#Person"/>
  </owl:DatatypeProperty>

  <!-- Constructs that define social relations -->

  <owl:ObjectProperty rdf:ID="knows">
    <rdfs:label>knows</rdfs:label>
    <rdfs:domain rdf:resource="#Agent"/>
    <rdfs:range rdf:resource="#Agent"/>
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:ID="friendOf">
    <rdfs:label>friendOf</rdfs:label>
    <rdfs:subPropertyOf rdf:resource="#knows"/>
    <rdf:type rdf:resource="&owl;SymmetricProperty"/>
  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:ID="acquaintanceOf">
    <rdfs:label>acquaintanceOf</rdfs:label>
    <rdfs:subPropertyOf rdf:resource="#knows"/>
  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:ID="antagonistOf">
    <rdfs:label>antagonistOf</rdfs:label>
    <rdfs:subPropertyOf rdf:resource="#knows"/>
  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:ID="ambivalentOf">
    <rdfs:label>ambivalentOf</rdfs:label>
    <rdfs:subPropertyOf rdf:resource="#knows"/>
  </owl:ObjectProperty>

  <!-- Constructs that define social institutions -->

  <owl:ObjectProperty rdf:ID="affiliatedWith">
    <rdfs:label>affiliatedWith</rdfs:label>
    <rdfs:domain rdf:resource="#Person"/>
    <rdfs:range rdf:resource="#SocialInstitution"/>
  </owl:ObjectProperty>

  <owl:Class rdf:ID="SocialInstitution"> 
    <rdfs:label>SocialInstitution</rdfs:label>

    <rdfs:subClassOf rdf:resource="#Agent"/>
  </owl:Class>

  <owl:DatatypeProperty rdf:ID="institutionName">
    <rdfs:label>institutionName</rdfs:label>
    <rdfs:domain rdf:resource="#SocialInstitution"/>
    <rdfs:range rdf:resource="&xsd;string"/>
  </owl:DatatypeProperty>

  <owl:Class rdf:ID="BusinessInstitution">
    <rdfs:label>BusinessInstitution</rdfs:label>
    <rdfs:subClassOf rdf:resource="#SocialInstitution"/>
  </owl:Class>

  <owl:Class rdf:ID="AcademicInstitution">
    <rdfs:label>AcademicInstitution</rdfs:label>
    <rdfs:subClassOf rdf:resource="#SocialInstitution"/>
  </owl:Class>
  
</rdf:RDF>
