<?xml version="1.0" encoding="iso-8859-1"?>
<!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 xsd  "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY owl  "http://www.w3.org/2002/07/owl#" >
<!ENTITY dc    "http://purl.org/dc/elements/1.1/">
<!ENTITY o3 "http://www.charlestoncore.org/ontology/2005/08/o3#">
]>
<rdf:RDF
 xmlns          = "&o3;"
 xmlns:o3    = "&o3;"
 xmlns:rdf      ="&rdf;"
 xmlns:rdfs     ="&rdfs;"
 xmlns:xsd      ="&xsd;"
 xmlns:owl      ="&owl;"
 xmlns:dc       ="&dc;"
 xml:base       ="http://www.charlestoncore.org/ontology/2005/08/o3"
 >

  <owl:Ontology rdf:about="">
    <rdfs:isDefinedBy rdf:resource="http://www.charlestoncore.org/ont/2005/08/o3.html"/>
    <dc:author>Xiaoshu Wang</dc:author>
    <dc:title>The Ontology of Ontology</dc:title>
    <rdfs:comment>This file defines an Ontology for classifying ontology.</rdfs:comment>
    <owl:versionInfo>2005-08</owl:versionInfo>
  </owl:Ontology>
  
  <owl:Class rdf:ID="Vocabulary">
    <rdfs:subClassOf rdf:resource="&owl;Ontology"/>
    <owl:disjointWith rdf:resource="#Profile"/>
	<owl:disjointWith rdf:resource="#ConcreteOntology"/>
    <rdfs:label>Vocabulary</rdfs:label>
    <rdfs:comment>A vocabulary only functions as a namespace</rdfs:comment>
  </owl:Class>  

  <owl:Class rdf:ID="ConcreteOntology">
    <rdfs:subClassOf rdf:resource="&owl;Ontology"/>
	<owl:disjointWith rdf:resource="#Vocabulary"/>
    <owl:disjointWith rdf:resource="#Profile"/>
    <rdfs:label>Concrete Ontology</rdfs:label>
    <rdfs:comment>A concrete ontology has new resource under its own namespace</rdfs:comment>
  </owl:Class>

  <owl:Class rdf:ID="Profile">
    <rdfs:subClassOf rdf:resource="&owl;Ontology"/>
    <owl:disjointWith rdf:resource="#ConcreteOntology"/>
	<owl:disjointWith rdf:resource="#Vocabulary"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="&owl;imports"/>
        <owl:minCardinality>2</owl:minCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label>ProfileOntology Ontology</rdfs:label>
    <rdfs:comment>A ProfileOntology merges a number of Ontologies but do not create new resources under its namespace.</rdfs:comment>
  </owl:Class>

  <owl:Class rdf:ID="ComplexOntology">
    <rdfs:subClassOf rdf:resource="#ConcreteOntology"/>
    <owl:disjointWith rdf:resource="#LocalOntology"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="&owl;imports"/>
        <owl:minCardinality>1</owl:minCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label>Complex Ontology</rdfs:label>
    <rdfs:comment>Complex ontology is a concrete ontology that imports another ontology. </rdfs:comment>
  </owl:Class>  

  <owl:Class rdf:ID="LocalOntology">
    <rdfs:subClassOf rdf:resource="#ConcreteOntology"/>
    <owl:disjointWith rdf:resource="#ComplexOntology"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="&owl;imports"/>
        <owl:maxCardinality>0</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label>Local Ontology</rdfs:label>
    <rdfs:comment>A local ontology is an Ontology that does not import any other term.</rdfs:comment>
  </owl:Class>

  <owl:ObjectProerty rdf:ID="useProfile">
    <rdfs:range rdf:resource="#ProfileOntology"/>
  </owl:ObjectProerty>

</rdf:RDF>