<?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 ccgel "http://www.charlestoncore.org/ontology/gel#">
<!ENTITY ccbase "http://www.charlestoncore.org/ontology/base#">
]>
<rdf:RDF
 xmlns          = "&ccgel;"
 xmlns:ccgel    = "&ccgel;"
 xmlns:rdf      ="&rdf;"
 xmlns:rdfs     ="&rdfs;"
 xmlns:xsd      ="&xsd;"
 xmlns:owl      ="&owl;"
 xmlns:ccbase   ="&ccbase;"
 xmlns:dc       ="&dc;"
 xml:base       ="http://www.charlestoncore.org/ontology/gel"
 >

  <owl:Ontology rdf:about="">
    <rdfs:isDefinedBy rdf:resource="http://www.charlestoncore.org/ont/gel.html"/>
    <owl:imports rdf:resource="&ccbase;"/>
    <dc:author>Xiaoshu Wang</dc:author>
    <dc:title>Minimum Ontology for Representing Two-dimensional Gel Electrophoresis Result</dc:title>
    <rdfs:comment>This file specifies in OWL the basic classes and properties that forms the basic vocabulary to describe a 2D gel experiment
    </rdfs:comment>
    <owl:versionInfo>13 Sept 2004</owl:versionInfo>
  </owl:Ontology>

  <owl:Class rdf:ID="Gel"/>

  <owl:Class rdf:ID="Spot"/>

  <owl:ObjectProperty rdf:ID="hasSpot">
    <rdfs:domain rdf:resource="#Gel"/>
    <rdfs:range rdf:resource="#Spot"/>
  </owl:ObjectProperty>

  <owl:Class rdf:ID="RefGel">
    <rdfs:subClassOf rdf:resource="#Gel"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSpot"/>
        <owl:allValuesFrom rdf:resource="#RefSpot"/>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>

  <owl:Class rdf:ID="RefSpot">
    <rdfs:subClass rdf:resource="#Spot"/>
  </owl:Class>

  <owl:DatatypeProperty rdf:ID="pi">
    <rdfs:domain rdf:resource="#RefSpot"/>
    <rdfs:range rdf:resource="&xsd;double"/>
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:ID="mw">
    <rdfs:domain rdf:resource="#RefSpot"/>
    <rdfs:range rdf:resource="&xsd;double"/>
  </owl:DatatypeProperty>

  <owl:Class rdf:ID="ImgGel">
    <rdfs:subClassOf rdf:resource="#Gel"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSpot"/>
        <owl:allValuesFrom rdf:resource="#ImgSpot"/>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>

  <owl:ObjectProperty rdf:ID="imgLoc">
    <rdfs:comments>The range of imgLoc should be a resource that is an image.</rdfs:comments>
    <rdfs:domain rdf:resource="#ImgGel"/>
  </owl:ObjectProperty>

  <owl:Class rdf:ID="ImgSpot">
    <rdfs:subClassOf rdf:resource="#Spot"/>
  </owl:Class>

  <owl:DatatypeProperty rdf:ID="intensity">
    <rdfs:domain rdf:resource="#ImgSpot"/>
    <rdfs:range rdf:resource="&xsd;double"/>
  </owl:DatatypeProperty>

  <owl:Class rdf:ID="OvalSpot">
    <rdfs:subClassOf rdf:resource="#ImgSpot"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="&ccbase;shape"/>
        <owl:allValuesFrom rdf:resource="&ccbase;Ellipse"/>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>

  <owl:Class rdf:ID="MGel">
    <rdfs:subClassOf rdf:resource="#RefGel"/>
    <rdfs:subClassOf rdf:resource="#ImgGel"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSpot"/>
        <owl:allValuesFrom rdf:resource="#MSpot"/>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>

  <owl:Class rdf:ID="MSpot">
    <rdfs:subClassOf rdf:resource="#RefSpot"/>
    <rdfs:subClassOf rdf:resource="#ImgSpot"/>
  </owl:Class>

  <owl:ObjectProperty rdf:ID="registers">
    <rdfs:domain rdf:resource="#ImgSpot"/>
    <rdfs:range rdf:resource="#RefSpot"/>
  </owl:ObjectProperty>

</rdf:RDF>