<?xml version="1.0"?>
<?xml-stylesheet href="http://www.w3.org/2002/06/rdfs2html.xsl" type="application/xml"?>
<!DOCTYPE owl [
   <!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#">
   <!ENTITY tme   "http://daml.umbc.edu/ontologies/cobra/0.4/time-basic#">
   <!ENTITY doc   "http://daml.umbc.edu/ontologies/cobra/0.4/document#">
   ]>
<!--
    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/document

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

    CVS Version: $Revision: 1.6 $, $Date: 2003/10/29 05:43:34 $
-->
<rdf:RDF  
   xmlns:rdf  = "&rdf;"
   xmlns:rdfs = "&rdfs;"
   xmlns:owl  = "&owl;"
   xmlns:xsd  = "&xsd;"
   xmlns:foaf = "&foaf;"
   xmlns      = "&doc;"
   xml:base   = "http://daml.umbc.edu/ontologies/cobra/0.4/document">

  <owl:Ontology rdf:about="&cobra;document">
    <owl:versionInfo>0.4</owl:versionInfo>
    <rdfs:label>COBRA-ONT Document Ontology</rdfs:label>
    <owl:imports rdf:resource="&cobra;time-basic"/>
    <owl:imports rdf:resource="&cobra;foaf-basic"/>
    <rdfs:comment>
      This ontology defines concepts for describing digital documents
      (e.g., published papers, photos, logos). Parts of the ontology are
      adopted from the FOAF ontology v1.0.
    </rdfs:comment>
  </owl:Ontology>
  
  <owl:Class rdf:ID="Document">
    <rdfs:label>Document</rdfs:label>
  </owl:Class>

  <owl:ObjectProperty rdf:ID="createdBy">
    <rdfs:label>createdBy</rdfs:label>
    <rdfs:domain rdf:resource="#Document"/>
    <rdfs:range rdf:resource="&foaf;Person"/>
  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:ID="lastModifiedBy">
    <rdfs:label>lastModifiedBy</rdfs:label>
    <rdfs:domain rdf:resource="#Document"/>
    <rdfs:range rdf:resource="&foaf;Person"/>
  </owl:ObjectProperty>

  <owl:DatatypeProperty rdf:ID="downloadURI">
    <rdfs:label>downloadURI</rdfs:label>
    <rdfs:domain rdf:resource="#Document"/>
    <rdfs:range rdf:resource="&xsd;anyURI"/>
  </owl:DatatypeProperty>
  
  <owl:ObjectProperty rdf:ID="createdOn">
    <rdfs:label>createdOn</rdfs:label>
    <rdfs:domain rdf:resource="#Document"/>
    <rdfs:range rdf:resource="&tme;InstantThing"/>
  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:ID="lastModifiedOn">
    <rdfs:label>lastModifiedOn</rdfs:label>
    <rdfs:domain rdf:resource="#Document"/>
    <rdfs:range rdf:resource="&tme;InstantThing"/>
  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:ID="fileSize">
    <rdfs:label>fileSize</rdfs:label>
    <rdfs:domain rdf:resource="#Document"/>
    <rdfs:range rdf:resource="#FileSizeDescription"/>
  </owl:ObjectProperty>

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

    <rdfs:subClassOf>
      <owl:Restriction>
	<owl:onProperty rdf:resource="#unit"/>
	<owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">
	  1
	</owl:cardinality>
      </owl:Restriction> 
    </rdfs:subClassOf> 

    <rdfs:subClassOf>
      <owl:Restriction>
	<owl:onProperty rdf:resource="#size"/>
	<owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">
	  1
	</owl:cardinality>
      </owl:Restriction> 
    </rdfs:subClassOf> 
  </owl:Class>

  <owl:ObjectProperty rdf:ID="unit">
    <rdfs:label>unit</rdfs:label>
    <rdfs:domain rdf:resource="#FileSizeDescription"/>
    <rdfs:range rdf:resource="#FileSizeUnit"/>
  </owl:ObjectProperty>

  <owl:DatatypeProperty rdf:ID="size">
    <rdfs:label>size</rdfs:label>
    <rdfs:domain rdf:resource="#FileSizeDescription"/>
    <rdfs:range rdf:resource="&xsd;unsignedLong"/>
  </owl:DatatypeProperty>
  
  <owl:Class rdf:ID="FileSizeUnit">
    <rdfs:label>FileSizeUnit</rdfs:label>
    <owl:oneOf rdf:parseType="Collection">
      <FileSizeUnit rdf:about="#Bytes"/>
      <FileSizeUnit rdf:about="#KBytes"/>
      <FileSizeUnit rdf:about="#MBytes"/>
      <FileSizeUnit rdf:about="#GBytes"/>
      <FileSizeUnit rdf:about="#TBytes"/>
    </owl:oneOf>
  </owl:Class>

  <owl:ObjectProperty rdf:ID="copyrightedBy">
    <rdfs:label>copyrightedBy</rdfs:label>
    <rdfs:domain rdf:resource="#Document"/>
    <rdfs:range rdf:resource="&foaf;Person"/>
  </owl:ObjectProperty>

</rdf:RDF>  
  
