<?xml version="1.0" ?>
<!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 ccbase "http://www.charlestoncore.org/ontology/base#">
]>

<rdf:RDF
 xmlns          = "&ccbase;"
 xmlns:ccbase    = "&ccbase;"
 xmlns:rdf      ="&rdf;"
 xmlns:rdfs     ="&rdfs;"
 xmlns:xsd      ="&xsd;"
 xmlns:owl      ="&owl;"
 xmlns:dc       ="&dc;"
 xml:base       ="http://www.charlestoncore.org/ontology/base"
 >

  <owl:Ontology>
    <rdfs:isDefinedBy rdf:resource="http://www.charlestoncore.org/ont/base.html"/>
    <dc:author>Xiaoshu Wang</dc:author>
    <dc:title>Basic Ontology Used in Charleston Core</dc:title>
    <rdfs:comment>This file specifies in OWL the basic classes and properties that forms the basic vocabulary neccessary to describe other Charleston Core Ontology.  As you will see, ontologies in this file defines very general concepts.  The reason, these concepts are separated out in here is: We need the concepts but we don't think we should be defining them.  Charleston Core is created to define ontologies needed to describe proteomic data, gel and MS etc.  But Many concepts that are requires is nothing "proteomic".  For instance, a protein spot on a 2DE gel has a shape.  The concept of Shape is mathematical concept rather than of proteomics.  In order to make it easier for future use of other more widely defined Geometry ontology, these concepts are separated out in this ontology.
    </rdfs:comment>
    <owl:versionInfo>3 Sept 2004</owl:versionInfo>    
  </owl:Ontology>

  <owl:Class rdf:ID="Shape"/>
  <owl:Class rdf:ID="Location"/>
  <owl:Class rdf:ID="Point"/>
  
  <owl:Class rdf:ID="Rectangle">
    <rdfs:subClassOf rdf:resource="#Shape"/>
  </owl:Class>

  <owl:Class rdf:ID="Ellipse">
    <rdfs:subClassOf rdf:resource="#Shape"/>
  </owl:Class>

  <owl:ObjectProperty rdf:ID="shape">
    <owl:range rdf:resource="#Shape"/>
  </owl:ObjectProperty>

  <owl:DatatypeProperty rdf:ID="x">
    <rdfs:domain rdf:resource="#Point"/>
    <rdfs:range rdf:resource="&xsd;double"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="y">
    <rdfs:domain rdf:resource="#Point"/>
    <rdfs:range rdf:resource="&xsd;double"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="rx">
    <rdfs:domain rdf:resource="#Ellipse"/>
    <rdfs:range rdf:resource="&xsd;double"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="ry">
    <rdfs:domain rdf:resource="#Ellipse"/>
    <rdfs:range rdf:resource="&xsd;double"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="width">
    <rdfs:domain rdf:resource="#Rectangle"/>
    <rdfs:range rdf:resource="&xsd;double"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="height">
    <rdfs:domain rdf:resource="#Rectangle"/>
    <rdfs:range rdf:resource="&xsd;double"/>
  </owl:DatatypeProperty>

  <owl:ObjectProperty rdf:ID="center">
    <rdfs:range rdf:resource="#Point"/>
  </owl:ObjectProperty>

</rdf:RDF>