<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
   <!ENTITY cobra  "http://cobra.umbc.edu/ont/2004/05/">   
   <!ENTITY soupa  "http://pervasive.semanticweb.org/ont/dev/">   
   <!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 act    "http://pervasive.semanticweb.org/ont/dev/action#">
   <!ENTITY per    "http://pervasive.semanticweb.org/ont/dev/person#">
   <!ENTITY agt    "http://pervasive.semanticweb.org/ont/dev/agent#">
   <!ENTITY pol    "http://pervasive.semanticweb.org/ont/dev/policy#">
   <!ENTITY loc    "http://pervasive.semanticweb.org/ont/dev/location#">
   <!ENTITY ebact  "http://cobra.umbc.edu/ont/2004/05/ebiquity-actions#">
   <!ENTITY ebm    "http://cobra.umbc.edu/ont/2004/05/ebiquity-meetings#">
   <!ENTITY ebgeo   "http://cobra.umbc.edu/ont/2004/05/ebiquity-geo#">
   <!ENTITY hcpol  "http://cobra.umbc.edu/ont/2004/05/harrychen-policy#"> 
   ]>
<!--
    This ontology document 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. 
-->
<rdf:RDF
   xmlns:rdf    = "&rdf;"
   xmlns:rdfs   = "&rdfs;"
   xmlns:owl    = "&owl;"
   xmlns:xsd    = "&xsd;"
   xmlns:per    = "&per;"
   xmlns:pol    = "&pol;"
   xmlns:act    = "&act;"
   xmlns:agt    = "&agt;"
   xmlns:loc    = "&loc;"
   xmlns:ebact  = "&ebact;"
   xmlns:ebgeo  = "&ebgeo;"
   xmlns:ebm    = "&ebm;"
   xmlns        = "&hcpol;"
   xml:base     = "http://cobra.umbc.edu/ont/2004/05/harrychen-policy">

  <owl:Ontology rdf:about="&cobra;harrychen-policy">
    <owl:versionInfo>cvs:$Revision: 1.5 $, $Date: 2004/06/19 20:50:45 $</owl:versionInfo>
    <rdfs:label>UMBC eBiquity Group Meeting Ontology</rdfs:label>
    <rdfs:comment></rdfs:comment>      

    <owl:imports rdf:resource="&soupa;policy"/>
    <owl:imports rdf:resource="&soupa;agent"/>
    <owl:imports rdf:resource="&soupa;person"/>
    <owl:imports rdf:resource="&soupa;action"/>
    <owl:imports rdf:resource="&soupa;location"/>
    <owl:imports rdf:resource="&cobra;ebiquity-actions"/>
    <owl:imports rdf:resource="&cobra;ebiquity-meetings"/>
    <owl:imports rdf:resource="&cobra;ebiquity-geo"/>
  </owl:Ontology>

  <pol:Policy rdf:ID="&cobra;harrychen-policy">
     <pol:policyOf>
        <per:Person rdf:about="harrychen">
           <per:name rdf:datatype="&xsd;string">Harry Chen</per:name>
        </per:Person>
     </pol:policyOf>
     
     <pol:defaultPolicyMode 
	rdf:resource="&pol;RequiresExplicitPermission"/>

     <pol:permits rdf:resource="#CLS1"/>

     <pol:permits rdf:resource="#CLS2"/>

     <pol:forbids rdf:resource="#CLS3"/>

     <pol:permits rdf:resource="#CLS4"/>

  </pol:Policy>

  <owl:Class rdf:ID="CLS1">
     <rdfs:label>ShareMyLocInfoWithCloseFriends</rdfs:label>
     <rdfs:comment>Share my location information with my close friends</rdfs:comment>
     <owl:intersectionOf rdf:parseType="Collection">
        <owl:Class rdf:about="&ebact;ShareLocationInfo"/>

        <owl:Restriction>
           <owl:onProperty rdf:resource="&act;recipient"/>
           <owl:allValuesFrom rdf:resource="#CloseFriend"/>
        </owl:Restriction>
     </owl:intersectionOf>
  </owl:Class>

  <owl:Class rdf:ID="CloseFriend">
     <rdfs:subClassOf rdf:resource="&per;Person"/>
  </owl:Class>

  <CloseFriend rdf:about="http://www.gl.umbc.edu/~yim1"/>

  <owl:Class rdf:ID="CLS2">
     <rdfs:label>ShareMyLocInfoWithEbiquityMemebers</rdfs:label>
     <rdfs:comment>Share my location information with the ebiquity group members iff the location information describes me being in ITE210A, ITE325B or on the UMBC campus.</rdfs:comment>
     <owl:intersectionOf rdf:parseType="Collection">
        <owl:Class rdf:about="&ebact;ShareLocationInfo"/>

        <owl:Restriction>
           <owl:onProperty rdf:resource="&act;recipient"/>
           <owl:allValuesFrom rdf:resource="&ebm;EbiquityMember"/>
        </owl:Restriction>
   
        <owl:Restriction>
           <owl:onProperty rdf:resource="&act;target"/>
           <owl:someValuesFrom rdf:resource="#MyRestrictedLocationContext"/>
        </owl:Restriction>
     </owl:intersectionOf>
  </owl:Class>

  <owl:Class rdf:ID="MyRestrictedLocationContext">
     <owl:intersectionOf rdf:parseType="Collection">
        <owl:Class rdf:about="&loc;LocationContext"/>

        <owl:Restriction>
           <owl:onProperty rdf:resource="&loc;boundedWithin"/>
           <owl:someValuesFrom>
              <owl:Class rdf:ID="foo-a1">
                <owl:oneOf rdf:parseType="Collection">
                   <ebgeo:Room rdf:about="&ebgeo;ITE210A"/>
                   <ebgeo:Room rdf:about="&ebgeo;ITE325B"/>
	           <ebgeo:UniversityCampus rdf:about="&ebgeo;UMBCMainCampus"/>
                </owl:oneOf>
              </owl:Class>
           </owl:someValuesFrom>
        </owl:Restriction>
     </owl:intersectionOf>
  </owl:Class>


  <owl:Class rdf:ID="CLS3">
     <rdfs:label>ShareMyLocInfoWithUntrustedServiceAgent</rdfs:label>
     <rdfs:comment>Share my location information with untrusted service agent</rdfs:comment>
     <owl:intersectionOf rdf:parseType="Collection">
        <owl:Class rdf:about="&ebact;ShareLocationInfo"/>

        <owl:Restriction>
           <owl:onProperty rdf:resource="&act;recipient"/>
           <owl:allValuesFrom rdf:resource="#UntrustedServiceAgent"/>
        </owl:Restriction>
     </owl:intersectionOf>
  </owl:Class>

  <owl:Class rdf:ID="UntrustedServiceAgent">
     <rdfs:subClassOf rdf:resource="&agt;Agent"/>
     <owl:oneOf rdf:parseType="Collection">
        <UntrustedServiceAgent rdf:about="http://www.orbitz.com#locTrack"/>
        <UntrustedServiceAgent rdf:about="http://www.foobar.com#whereRu"/>
        <UntrustedServiceAgent rdf:about="http://www.foofoobar.com#abc"/>
     </owl:oneOf>
  </owl:Class>

  <owl:Class rdf:ID="CLS4">
     <rdfs:label>ShareMyContactWithAnyoneWhomTimFininKnows</rdfs:label>
     <rdfs:comment>Share my contact information with people that Tim Finin knows</rdfs:comment>
    
     <owl:intersectionOf rdf:parseType="Collection">
        <owl:Class rdf:about="&ebact;ShareContactInfo"/>
        
        <owl:Restriction>
           <owl:onProperty rdf:resource="&act;recipient"/>
           <owl:allValuesFrom rdf:resource="#PersonTimFininKnows"/>           
        </owl:Restriction>
     </owl:intersectionOf>
  </owl:Class>

  <owl:Class rdf:ID="PersonTimFininKnows">
     
     <owl:intersectionOf rdf:parseType="Collection">     
        <owl:Class rdf:about="&per;Person"/>
        
        <owl:Restriction>
           <owl:onProperty rdf:resource="&per;knows"/>
           <owl:hasValue rdf:resource="http://www.cs.umbc.edu/~finin"/>
        </owl:Restriction>
     </owl:intersectionOf>
  </owl:Class>  


</rdf:RDF>
