<?xml version="1.0" ?>
<?xml-stylesheet href="http://www.w3.org/2002/06/rdfs2html.xsl" type="application/xml"?>
<!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 dreggie "http://daml.umbc.edu/ontologies/dreggie-ont#">
   ]>

<rdf:RDF  
   xmlns:rdf  = "&rdf;"
   xmlns:rdfs = "&rdfs;"
   xmlns:owl  = "&owl;"
   xmlns:xsd  = "&xsd;"
   xmlns      = "&dreggie;"
   xml:base   = "&dreggie;">

<owl:Ontology rdf:about="">
 <owl:versionInfo>Filip Perich and Dipanjan Chakraborty</owl:versionInfo>  
 <rdfs:comment>Anamika Primary Ontology</rdfs:comment>
</owl:Ontology>

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

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

<owl:ObjectProperty rdf:ID="Description">
 <rdfs:domain rdf:resource="#Component" />
 <rdfs:range rdf:resource="#DescriptionClass" />
</owl:ObjectProperty>

<owl:DatatypeProperty rdf:ID="ServiceName" >
  <rdfs:domain rdf:resource="#DescriptionClass" />
  <rdfs:range rdf:resource="&xsd;string" />
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="ServiceAlias" >
  <rdfs:domain rdf:resource="#DescriptionClass" />
  <rdfs:range rdf:resource="&xsd;string" />
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="ClientName" >
  <rdfs:domain rdf:resource="#DescriptionClass" />
  <rdfs:range rdf:resource="&xsd;string" />
</owl:DatatypeProperty>

<owl:ObjectProperty rdf:ID="Capability">
  <rdfs:domain rdf:resource="#DescriptionClass" />
  <rdfs:range rdf:resource="#CapabilityClass" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="Requirements">
  <rdfs:domain rdf:resource="#DescriptionClass" />
  <rdfs:range rdf:resource="#RequirementsClass" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="Cost">
  <rdfs:domain rdf:resource="#DescriptionClass" />
  <rdfs:range rdf:resource="#CostClass" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="Mobility">
  <rdfs:domain rdf:resource="#DescriptionClass" />
  <rdfs:range rdf:resource="#MobilityClass" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="Input">
  <rdfs:domain rdf:resource="#DescriptionClass" />
  <rdfs:range rdf:resource="#InputClass" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="Output">
  <rdfs:domain rdf:resource="#DescriptionClass" />
  <rdfs:range rdf:resource="#OutputClass" />
</owl:ObjectProperty>



















<owl:Class rdf:ID="CapabilityClass" />


<owl:ObjectProperty rdf:ID="ClientCapability">
  <rdfs:domain rdf:resource="#CapabilityClass" />
  <rdfs:range rdf:resource="#Type" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="ServiceCapability">
  <rdfs:domain rdf:resource="#CapabilityClass" />
  <rdfs:range rdf:resource="#Type" />
</owl:ObjectProperty>


<owl:Class rdf:ID="RequirementsClass" />

<owl:ObjectProperty rdf:ID="CPURequirement">
  <rdfs:domain rdf:resource="#RequirementsClass" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="MemoryRequirement">
  <rdfs:domain rdf:resource="#RequirementsClass" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="DiskRequirement">
  <rdfs:domain rdf:resource="#RequirementsClass" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="OSRequirement">
  <rdfs:domain rdf:resource="#RequirementsClass" />
  <rdfs:range  rdf:resource="#VersionName" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="SoftwareRequirement">
  <rdfs:domain rdf:resource="#RequirementsClass" />
  <rdfs:range  rdf:resource="#VersionName" />
</owl:ObjectProperty>

<owl:Class rdf:ID="CostClass" />

<owl:ObjectProperty rdf:ID="Local">
  <rdfs:domain rdf:resource="#CostClass" />
  <rdfs:range rdf:resource="#AmountUnit" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="Remote">
  <rdfs:domain rdf:resource="#CostClass" />
  <rdfs:range rdf:resource="#AmountUnit" />
</owl:ObjectProperty>



<owl:Class rdf:ID="MobilityClass" />

<owl:ObjectProperty rdf:ID="ClientMobility">
  <rdfs:domain rdf:resource="#MobilityClass" />
  <rdfs:range rdf:resource="#Type" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="ServiceMobility">
  <rdfs:domain rdf:resource="#MobilityClass" />
  <rdfs:range rdf:resource="#Type" />
</owl:ObjectProperty>


<owl:Class rdf:ID="InputClass" />

<owl:ObjectProperty rdf:ID="ServiceInputType">
  <rdfs:domain rdf:resource="#InputClass" />
  <rdfs:range rdf:resource="#Type" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="ClientInputType">
  <rdfs:domain rdf:resource="#InputClass" />
  <rdfs:range rdf:resource="#Type" />
</owl:ObjectProperty>

<owl:Class rdf:ID="OutputClass" />

<owl:ObjectProperty rdf:ID="ServiceOutputType">
  <rdfs:domain rdf:resource="#OutputClass" />
  <rdfs:range rdf:resource="#Type" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="ClientOutputType">
  <rdfs:domain rdf:resource="#OutputClass" />
  <rdfs:range rdf:resource="#Type" />
</owl:ObjectProperty>



<owl:ObjectProperty rdf:ID="Property">
  <rdfs:domain rdf:resource="#Component" />
  <rdfs:range rdf:resource="#PropertyClass" />
</owl:ObjectProperty>

<owl:Class rdf:ID="PropertyClass" />

<owl:ObjectProperty rdf:ID="ServiceProperty">
  <rdfs:domain rdf:resource="#PropertyClass" />
  <rdfs:range rdf:resource="#PropertyType" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="ClientProperty">
  <rdfs:domain rdf:resource="#PropertyClass" />
  <rdfs:range rdf:resource="#PropertyType" />
</owl:ObjectProperty>








<owl:Class rdf:ID="PropertyType" />

<owl:DatatypeProperty rdf:ID="Name">
  <rdfs:range rdf:resource="&xsd;string" />
</owl:DatatypeProperty>

<owl:ObjectProperty rdf:ID="CpuType">
  <rdfs:range rdf:resource="#Type" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="Availability">
  <rdfs:range rdf:resource="&owl;Thing" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="Speed">
  <rdfs:range rdf:resource="#AmountUnit" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="Size">
  <rdfs:range rdf:resource="#AmountUnit" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="Memory">
  <rdfs:range rdf:resource="#AmountUnit" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="FileSystem">
  <rdfs:range rdf:resource="#AmountUnit" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="OperatingSystem">
  <rdfs:range rdf:resource="#AmountUnit" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="Software">
  <rdfs:range rdf:resource="#AmountUnit" />
</owl:ObjectProperty>

<owl:Class rdf:ID="AmountUnit" />

<owl:DatatypeProperty rdf:ID="Amount">
  <rdfs:domain rdf:resource="#AmountUnit" /> 
  <rdfs:range rdf:resource="&xsd;nonNegativeInteger" />
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="Unit">
  <rdfs:domain rdf:resource="#AmountUnit" /> 
  <rdfs:range rdf:resource="&xsd;string" />
</owl:DatatypeProperty>

<owl:Class rdf:ID="VersionType">
  <rdfs:subClassOf rdf:resource="#Type" />
</owl:Class>

<owl:Class rdf:ID="VersionName" />

<owl:DatatypeProperty rdf:ID="Version">
  <rdfs:range rdf:resource="&xsd;string" />
</owl:DatatypeProperty>

<owl:Class rdf:ID="Type" />

</rdf:RDF>


