<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE uridef[
  <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns">
  <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema">
  <!ENTITY daml "http://www.daml.org/2001/03/daml+oil">
  <!ENTITY xsd "http://www.w3.org/2000/10/XMLSchema">
  <!ENTITY country "http://www.daml.org/2001/09/countries/fips-10-4-ont">
  <!ENTITY serv "http://www.daml.org/2002/09/milservices/milservices-ont">
  <!ENTITY usserv "http://www.daml.org/2002/09/milservices/us">
  <!ENTITY eoa "http://www.daml.org/experiment/ontology/assessment-ont">
  <!ENTITY cap "http://www.daml.org/experiment/ontology/capability-ont">
  <!ENTITY tskl "http://orlando.drc.com/daml/ontology/TaskList/3.1.2/TaskList-ont">
  <!ENTITY dt   "http://www.daml.org/experiment/ontology/ona.xsd">
  <!ENTITY enp  "http://www.daml.org/experiment/ontology/elements-ont">
  <!ENTITY class "http://www.daml.org/2002/04/classification/classification-ont">
  <!ENTITY goal  "http://www.daml.org/experiment/ontology/objectives-ont">
  <!ENTITY oldop "http://www.daml.org/experiment/ontology/operation-ont">
]>

<rdf:RDF
  xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs ="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:daml ="http://www.daml.org/2001/03/daml+oil#"
  xmlns:xsd ="http://www.w3.org/2000/10/XMLSchema#"
  xmlns:tskl="http://orlando.drc.com/daml/ontology/TaskList/3.1.2/TaskList-ont#"
  xmlns:serv="http://www.daml.org/2002/09/milservices/milservices-ont#"
  xmlns     ="http://www.daml.org/experiment/ontology/new-operation-ont#"
 >

<daml:Ontology rdf:about="">
 <daml:versionInfo> </daml:versionInfo>
 <rdfs:comment> 
   Operations Ontology
 </rdfs:comment>
 <daml:imports rdf:resource="&daml;"/>
 <daml:imports rdf:resource="&serv;"/>
 <daml:imports rdf:resource="&class;"/>
 <daml:imports rdf:resource="&country;"/>
 <daml:imports rdf:resource="&eoa;"/>
 <daml:imports rdf:resource="&enp;"/>
 <daml:imports rdf:resource="&tskl;"/>
 <daml:imports rdf:resource="&oldop;"/>
 <daml:imports rdf:resource="&goal;"/>
 <daml:imports rdf:resource="&dt;"/>
</daml:Ontology>

<!-- Created: Thu Dec 19 15:00:14 2002 -->


<rdf:Description rdf:about="&oldop;#Operation">
  <rdfs:label>Operation</rdfs:label>
  <rdfs:comment>
    Operations have the following properties:
      name (label) -> string
      &class;#classification -> &class;#Marking
      category -> string
      region -> string (or Region?)
      geographic area (geographicArea) -> Country+
      supported organization (supportedOrg) -> Organization*
      supporting organization (supportingOrg) -> Organization*
      related operation/plan (adaptedFrom) -> Operation*
      involvesOrganization -> Organization*
      cDay -> &xsd;#date
      mDay -> &xsd;#date
  </rdfs:comment>

  <daml:subClassOf rdf:resource="&oldop;#Operation"/>
		       
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="&class;#classification"/>
      <daml:toClass rdf:resource="&class;#Marking"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#category"/>
      <daml:toClass rdf:resource="&xsd;#string"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#region"/>
      <daml:toClass rdf:resource="&xsd;#string"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#geographicArea"/>
      <daml:toClass rdf:resource="&country;#Country"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#supportedOrg"/>
      <daml:toClass rdf:resource="#Organization"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#supportingOrg"/>
      <daml:toClass rdf:resource="#Organization"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#adaptedFrom"/>
      <daml:toClass rdf:resource="&oldop;#Operation"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#involvesOrganization"/>
      <daml:toClass rdf:resource="#Organization"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#cDay"/>
      <daml:toClass rdf:resource="&xsd;#date"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#mDay"/>
      <daml:toClass rdf:resource="&xsd;#date"/>
    </daml:Restriction>
  </daml:subClassOf>

</rdf:Description>

<daml:DatatypeProperty rdf:ID="category">
  <rdfs:label>category</rdfs:label>
</daml:DatatypeProperty>

<daml:DatatypeProperty rdf:ID="region">
  <rdfs:label>region</rdfs:label>
</daml:DatatypeProperty>

<daml:ObjectProperty rdf:ID="geographicArea">
  <rdfs:label>geographic area</rdfs:label>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="supportedOrg">
  <rdfs:label>supported organization</rdfs:label>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="supportingOrg">
  <rdfs:label>supporting organization</rdfs:label>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="adaptedFrom">
  <rdfs:label>adapted from</rdfs:label>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="involvesOrganization">
  <rdfs:label>involves organization</rdfs:label>
</daml:ObjectProperty>

<daml:DatatypeProperty rdf:ID="cDay">
  <rdfs:label>C-Day</rdfs:label>
</daml:DatatypeProperty>

<daml:DatatypeProperty rdf:ID="mDay">
  <rdfs:label>M-Day</rdfs:label>
</daml:DatatypeProperty>


<daml:Class rdf:ID="Organization">
  <rdfs:label>Organization</rdfs:label>
  <rdfs:comment>
    name (label) -> string
    unit identifier (unitId) -> string
    type of unit/org (orgType) -> ?
    nation -> Country
    &serv;#service -> &serv;#Service
    component -> ?
    current location (currentLoc) -> geographic location
    home location (homeLoc) -> geographic location
    overall readiness (overallReadiness) -> string ?
    command relationship (commandRelationship) -> Organization
    support relationship (supportRelationship) -> Organization
    has objective (hasObjective) -> Objective
    has effect (hasEffect) -> Effect
    has task (hasTask) -> Task
    hasCapability -> &tskl;#Task
  </rdfs:comment>
			  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#unitId"/>
      <daml:toClass rdf:resource="&xsd;#string"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#orgType"/>
      <daml:toClass rdf:resource="&xsd;#string"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#nation"/>
      <daml:toClass rdf:resource="&country;#Country"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="&serv;#service"/>
      <daml:toClass rdf:resource="&serv;#Service"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#component"/>
      <daml:toClass rdf:resource="&xsd;#string"/>
    </daml:Restriction>
  </daml:subClassOf>

  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#currentLoc"/>
      <daml:toClass rdf:resource="&xsd;#string"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#homeLoc"/>
      <daml:toClass rdf:resource="&xsd;#string"/>
    </daml:Restriction>
  </daml:subClassOf>

  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#overallReadiness"/>
      <daml:toClass rdf:resource="&xsd;#string"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#commandRelationship"/>
      <daml:toClass rdf:resource="#Organization"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#supportRelationship"/>
      <daml:toClass rdf:resource="#Organization"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#hasObjective"/>
      <daml:toClass rdf:resource="&goal;#GoalsAndObjectives"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#hasEffect"/>
      <daml:toClass rdf:resource="#Effect"/>
    </daml:Restriction>
  </daml:subClassOf>

  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#hasTask"/>
      <daml:toClass rdf:resource="#Task"/>
    </daml:Restriction>
  </daml:subClassOf>

  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#hasCapability"/>
      <daml:toClass rdf:resource="&tskl;#Task"/>
    </daml:Restriction>
  </daml:subClassOf>

</daml:Class>

<daml:DatatypeProperty rdf:ID="unitId">
  <rdfs:label>unit identifier</rdfs:label>
</daml:DatatypeProperty>

<daml:DatatypeProperty rdf:ID="orgType">
  <rdfs:label>organization type</rdfs:label>
</daml:DatatypeProperty>

<daml:ObjectProperty rdf:ID="nation">
  <rdfs:label>nation</rdfs:label>
</daml:ObjectProperty>

<daml:DatatypeProperty rdf:ID="component">
  <rdfs:label>component</rdfs:label>
</daml:DatatypeProperty>

<daml:DatatypeProperty rdf:ID="currentLoc">
  <rdfs:label>current location</rdfs:label>
</daml:DatatypeProperty>

<daml:DatatypeProperty rdf:ID="homeLoc">
  <rdfs:label>home location</rdfs:label>
</daml:DatatypeProperty>

<daml:DatatypeProperty rdf:ID="overallReadiness">
  <rdfs:label>overall readiness</rdfs:label>
</daml:DatatypeProperty>

<daml:ObjectProperty rdf:ID="commandRelationship">
  <rdfs:label>command relationship</rdfs:label>
  <rdfs:comment>Domain commands Range</rdfs:comment>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="attached">
  <rdfs:label>attached to</rdfs:label>
  <daml:subPropertyOf rdf:resource="#commandRelationship"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="assigned">
  <rdfs:label>assigned to</rdfs:label>
  <daml:subPropertyOf rdf:resource="#commandRelationship"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="opcon">
  <rdfs:label>OPCON to</rdfs:label>
  <rdfs:comment>Operational Control</rdfs:comment>
  <daml:subPropertyOf rdf:resource="#commandRelationship"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="tacon">
  <rdfs:label>TACON to</rdfs:label>
  <rdfs:comment>tactical control</rdfs:comment>
  <daml:subPropertyOf rdf:resource="#commandRelationship"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="cocom">
  <rdfs:label>COCOM to</rdfs:label>
  <rdfs:comment>combatant control</rdfs:comment>
  <daml:subPropertyOf rdf:resource="#commandRelationship"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="supportRelationship">
  <rdfs:label>support relationship</rdfs:label>
  <rdfs:comment>Domain supports Range</rdfs:comment>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="directSupport">
  <rdfs:label>direct support</rdfs:label>
  <daml:subPropertyOf rdf:resource="#supportRelationship"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="generalSupport">
  <rdfs:label>general support</rdfs:label>
  <daml:subPropertyOf rdf:resource="#supportRelationship"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="reinforcing">
  <rdfs:label>reinforcing</rdfs:label>
  <daml:subPropertyOf rdf:resource="#supportRelationship"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="generalSupportReinforcing">
  <rdfs:label>general support reinforcing</rdfs:label>
  <daml:subPropertyOf rdf:resource="#supportRelationship"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="hasObjective">
  <rdfs:label>has objective</rdfs:label>
  <daml:inverseOf rdf:resource="#objectiveOf"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="hasEffect">
  <rdfs:label>has effect</rdfs:label>
  <daml:inverseOf rdf:resource="#effectOf"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="hasTask">
  <rdfs:label>has task</rdfs:label>
  <daml:inverseOf rdf:resource="#taskOf"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="hasCapability">
  <rdfs:label>has capability</rdfs:label>
  <daml:inverseOf rdf:resource="#capabilityOf"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="capabilityOf">
  <rdfs:label>capability of</rdfs:label>
</daml:ObjectProperty>


<rdf:Description rdf:about="&goal;#GoalsAndObjectives">
  <rdfs:comment>
    name (label) -> string
    importance -> importanceValue
    objectiveOf -> Organization [inverseOf hasObjective]
    operation -> Operation
  </rdfs:comment>
		       
  <!--
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#importance"/>
      <daml:toClass rdf:resource="&dt;#ImportanceValue"/>
    </daml:Restriction>
  </daml:subClassOf>
  -->
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#objectiveOf"/>
      <daml:toClass rdf:resource="#Organization"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#operation"/>
      <daml:toClass rdf:resource="&oldop;#Operation"/>
    </daml:Restriction>
  </daml:subClassOf>

</rdf:Description>

<daml:DatatypeProperty rdf:ID="importance">
  <rdfs:label>importance</rdfs:label>
</daml:DatatypeProperty>

<daml:ObjectProperty rdf:ID="objectiveOf">
  <rdfs:label>objective of</rdfs:label>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="operation">
  <rdfs:label>operation</rdfs:label>
</daml:ObjectProperty>




<!-- 
  Blue assessment (Capability) is now replaced with the Effect and Task
  classes.  Capability is now a subClassOf Task.  There are non-ENP
  tasks that are just descriptions.
  
  Operation:blueAssessment ==> Organization:hasEffect and :hasTask
  Capability:element ==> Task:target
  Capability:objective ==> Task:supportedEffect->Effect:supportedObjective
  Capability:impact ==> Effect:impact
-->
  


<daml:Class rdf:ID="Effect">
  <rdfs:label>Effect</rdfs:label>
  <rdfs:comment>
    name (label) -> string
    indicator -> string
    supported objective (supportedObj) -> Objective
    impact -> impactValue
    effectOf -> Organization [inverseOf hasEffect]
    operation -> Operation
  </rdfs:comment>
		    
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#indicator"/>
      <daml:toClass rdf:resource="&xsd;#string"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#supportedObj"/>
      <daml:toClass rdf:resource="&goal;#GoalsAndObjectives"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#impact"/>
      <daml:toClass rdf:resource="&dt;#ImpactValue"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#effectOf"/>
      <daml:toClass rdf:resource="#Organization"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#operation"/>
      <daml:toClass rdf:resource="&oldop;#Operation"/>
    </daml:Restriction>
  </daml:subClassOf>

</daml:Class>


<daml:DatatypeProperty rdf:ID="indicator">
  <rdfs:label>indicator</rdfs:label>
</daml:DatatypeProperty>

<daml:ObjectProperty rdf:ID="supportedObj">
  <rdfs:label>supported objective</rdfs:label>
</daml:ObjectProperty>

<daml:DatatypeProperty rdf:ID="impact">
  <rdfs:label>impact</rdfs:label>
</daml:DatatypeProperty>

<daml:ObjectProperty rdf:ID="effectOf">
  <rdfs:label>effect of</rdfs:label>
</daml:ObjectProperty>




<daml:Class rdf:ID="Task">
  <rdfs:label>Task</rdfs:label>
  <rdfs:comment>
    name (label) -> string [may need to compute one]
    target -> ElementOfNationalPower
    supported effect (supportedEffect) -> Effect
    taskOf -> Organization
    assignedTo -> Organization (subPropertyOf taskTo)
    operation -> Operation
    subTaskOf -> Task
    assignedSubTaskOf -> Task (subPropertyOf subTaskOf)
    ujtlTask -> &tskl;#Task

    Tasks are associated with UJTL tasks.  See http://orlando.drc.com/daml/ for UJTL in DAML.
  </rdfs:comment>

  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#target"/>
      <daml:toClass rdf:resource="&enp;#ElementOfNationalPower"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#supportedEffect"/>
      <daml:toClass rdf:resource="#Effect"/>
    </daml:Restriction>
  </daml:subClassOf>

  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#taskOf"/>
      <daml:toClass rdf:resource="#Organization"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#subTaskOf"/>
      <daml:toClass rdf:resource="#Task"/>
    </daml:Restriction>
  </daml:subClassOf>

  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#operation"/>
      <daml:toClass rdf:resource="&oldop;#Operation"/>
    </daml:Restriction>
  </daml:subClassOf>
  
  <daml:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#ujtlTask"/>
      <daml:toClass rdf:resource="&tskl;#Task"/>
    </daml:Restriction>
  </daml:subClassOf>

</daml:Class>

<!-- A Capability (DIME) is a subclass of Task -->

<daml:Class rdf:about="&eoa;#Capability">
  <daml:subClassOf rdf:resource="#Task"/>
</daml:Class>


<daml:ObjectProperty rdf:ID="target">
  <rdfs:label>target</rdfs:label>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="supportedEffect">
  <rdfs:label>supported effect</rdfs:label>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="taskOf">
  <rdfs:label>task of</rdfs:label>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="assignedTaskOf">
  <rdfs:label>assigned task of</rdfs:label>
  <daml:subPropertyOf rdf:resource="#taskOf"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="subTaskOf">
  <rdfs:label>subtask of</rdfs:label>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="assignedSubTaskOf">
  <rdfs:label>assigned subtask of</rdfs:label>
  <daml:subPropertyOf rdf:resource="#subTaskOf"/>
</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="ujtlTask">
  <rdfs:label>associated UJTL task</rdfs:label>
</daml:ObjectProperty>

<!-- Adding joint to milservices ontology for my use -->

<serv:Service rdf:about="&usserv;#Joint">
  <serv:fullName>United States Joint Services</serv:fullName> 
  <serv:abbreviation>Joint</serv:abbreviation> 
  <serv:country rdf:resource="http://www.daml.org/2001/09/countries/fips#US" /> 
</serv:Service>


</rdf:RDF>
