<?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 owl "http://www.w3.org/2002/07/owl#">
	  <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">
	  <!ENTITY terr "http://www.mindswap.org/2003/owl/swint/terrorism#">
	  <!ENTITY pers "http://www.mindswap.org/2003/owl/swint/person#">
]>
<rdf:RDF xml:base="&terr;"
	 xmlns:rdf="&rdf;"
	 xmlns:rdfs="&rdfs;"
	 xmlns:owl="&owl;"
	 xmlns:terr="&terr;"
     xmlns="&terr;"
>

<owl:Ontology rdf:about="">
  <owl:imports>
    <owl:Ontology rdf:about="http://www.mindswap.org/2003/owl/swint/person"/>
  </owl:imports>
</owl:Ontology>


<!-- Classes -->

<owl:Class rdf:ID="Event">
  <rdfs:label>Event</rdfs:label>
  
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#location"/>
      <owl:someValuesFrom rdf:resource="#Location"/>
    </owl:Restriction>
  </rdfs:subClassOf>
  
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#startTime"/>
      <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
    </owl:Restriction>
  </rdfs:subClassOf>
  
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#endTime"/>
      <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
    </owl:Restriction>
  </rdfs:subClassOf>
  
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#startDate"/>
      <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
    </owl:Restriction>
  </rdfs:subClassOf>
  
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#endDate"/>
      <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
    </owl:Restriction>
  </rdfs:subClassOf>
  
</owl:Class>

<owl:Class rdf:ID="TerroristEvent">
  <rdfs:subClassOf rdf:resource="#Event"/>
  <rdfs:label>Terrorist Event</rdfs:label>
</owl:Class>

<owl:Class rdf:ID="Organization">
  <rdfs:label>Organization</rdfs:label>
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#location"/>
      <owl:someValuesFrom rdf:resource="#Location"/>
    </owl:Restriction>
  </rdfs:subClassOf>
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#name"/>
      <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
    </owl:Restriction>
  </rdfs:subClassOf>

  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#affiliate"/>
      <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
    </owl:Restriction>
  </rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:ID="TerroristOrganization">
  <rdfs:label>Terrorist Organization</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Organization"/>
</owl:Class>

<owl:Class rdf:ID="NonGovernmentOrganization">
  <rdfs:label>Non Government Organization</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Organization"/>
</owl:Class>

<owl:Class rdf:ID="GovernmentOrganization">
  <rdfs:label>Government Organization</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Organization"/>
</owl:Class>

<owl:Class rdf:ID="Government">
  <rdfs:label>Government</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Organization"/>
</owl:Class>

<owl:Class rdf:ID="MilitaryOrganization">
  <rdfs:label>Military Organization</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Organization"/>
</owl:Class>

<owl:Class rdf:ID="Business" rdfs:label="Business">
  <rdfs:subClassOf rdf:resource="#Organization"/>
</owl:Class>

<owl:Class rdf:ID="Agent">
  <rdfs:label>Agent</rdfs:label>
  <rdfs:subClassOf rdf:resource="&pers;Person"/>
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#location"/>
      <owl:someValuesFrom rdf:resource="#Location"/>
    </owl:Restriction>
  </rdfs:subClassOf>
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#affiliate"/>
      <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
    </owl:Restriction>
  </rdfs:subClassOf>

</owl:Class>

<owl:Class rdf:ID="Terrorist">
  <rdfs:label>Terrorist</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Agent"/>
</owl:Class>

<owl:Class rdf:ID="TerroristLeader">
  <rdfs:label>Terrorist Leader</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Terrorist"/>
  <owl:equivalentClass>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#organizerOf"/>
      <owl:someValuesFrom rdf:resource="#TerroristEvent"/>
    </owl:Restriction>
  </owl:equivalentClass>
</owl:Class>

<owl:Class rdf:ID="TerroristActor">
  <rdfs:label>Terrorist Actor</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Terrorist"/>
  <owl:equivalentClass>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#participantOf"/>
      <owl:someValuesFrom rdf:resource="#TerroristEvent"/>
    </owl:Restriction>
  </owl:equivalentClass>
</owl:Class>

<owl:Class rdf:ID="GovernmentAgent">
  <rdfs:label>Government Agent</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Agent"/>
</owl:Class>

<owl:Class rdf:ID="Victim">
  <rdfs:label>Victim</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Agent"/>
</owl:Class>

<owl:Class rdf:ID="Location">
  <rdfs:label>Location</rdfs:label>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/>
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#name"/>
      <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
    </owl:Restriction>
  </rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:ID="Country">
  <rdfs:label>Country</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Location"/>
</owl:Class>

<owl:Class rdf:ID="City">
  <rdfs:label>City</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Location"/>
</owl:Class>

<owl:Class rdf:ID="PhoneNumber">
  <rdfs:label>Phone Number</rdfs:label>
</owl:Class>

<!-- Properties -->

<owl:ObjectProperty rdf:ID="affiliate">
  <rdf:type rdf:resource="&owl;ObjectProperty"/>
  <rdfs:label>Affiliate</rdfs:label>
</owl:ObjectProperty>



<owl:SymmetricProperty rdf:ID="knows">
  <rdf:type rdf:resource="&owl;ObjectProperty"/>
  <rdfs:label>Knows</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="#affiliate"/>
  <rdfs:domain rdf:resource="http://www.mindswap.org/2003/owl/swint/person#Person"/>
  <rdfs:range rdf:resource="http://www.mindswap.org/2003/owl/swint/person#Person"/>
</owl:SymmetricProperty>


<owl:SymmetricProperty rdf:ID="spouseOf">
  <rdf:type rdf:resource="&owl;ObjectProperty"/>
  <rdfs:label>Spouse Of</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="#affiliate"/>
  <rdfs:domain rdf:resource="http://www.mindswap.org/2003/owl/swint/person#Person"/>
  <rdfs:range rdf:resource="http://www.mindswap.org/2003/owl/swint/person#Person"/>
</owl:SymmetricProperty>

<owl:ObjectProperty rdf:ID="citizenship">
  <rdfs:label>Citizenship</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="#affiliate"/>
  <rdfs:domain rdf:resource="#Agent"/>
  <rdfs:range rdf:resource="#Government"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="government">
  <rdfs:label>Government</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="#affiliate"/>
  <rdfs:domain rdf:resource="#Country"/>
  <rdfs:range rdf:resource="#Government"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="governmentOf">
  <rdfs:label>Government Of</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="#affiliate"/>
  <owl:inverseOf rdf:resource="#government"/>
  <rdfs:domain rdf:resource="#Government"/>
  <rdfs:range rdf:resource="#Country"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="member">
  <rdfs:label>Member</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="#affiliate"/>
  <rdfs:domain rdf:resource="#Organization"/>
  <rdfs:range rdf:resource="#Agent"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="memberOf">
  <rdfs:label>Member Of</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="#affiliate"/>
  <rdfs:domain rdf:resource="#Agent"/>
  <rdfs:range rdf:resource="#Organization"/>
  <owl:inverseOf rdf:resource="#member"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="participant">
  <rdfs:label>Participant</rdfs:label>
  <rdfs:subPropertyOf rdf:resource="#affiliate"/>
  <rdfs:domain rdf:resource="#Event"/>
  <rdfs:range rdf:resource="#Agent"/>
  <owl:inverseOf rdf:resource="#participantOf"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="participantOf">
  <rdfs:label>Participant of</rdfs:label>
  <rdfs:range rdf:resource="#Event"/>
  <rdfs:domain rdf:resource="#Agent"/>   
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="organizerOf">
  <rdfs:label>Organizer of</rdfs:label>
  <rdfs:range rdf:resource="#Event"/>
  <rdfs:domain rdf:resource="#Agent"/>
    
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="organizer">
  <rdfs:label>Organizer</rdfs:label>
  <rdfs:domain rdf:resource="#Event"/>
  <rdfs:range rdf:resource="#Agent"/>
  <owl:inverseOf rdf:resource="#organizerOf"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="location">
  <rdfs:label>Location</rdfs:label>
  <rdfs:range rdf:resource="#Location"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="victim">
  <rdfs:label>Victim</rdfs:label>
  <rdfs:domain rdf:resource="#TerroristEvent"/>
  <rdfs:range rdf:resource="#Victim"/>
</owl:ObjectProperty>

<!-- Just using affiliate
<owl:ObjectProperty rdf:ID="nationalAffiliation">
  <rdfs:label>National Affiliation</rdfs:label>
  <rdfs:domain rdf:resource="#Organization"/>
  <rdfs:range rdf:resource="#Government"/>
</owl:ObjectProperty>
-->

<owl:TransitiveProperty rdf:ID="subordinate">
  <rdf:type rdf:resource="&owl;ObjectProperty"/>
  <rdfs:subPropertyOf rdf:resource="#affiliate"/>
  <rdfs:label>Subordinate</rdfs:label>
  <rdfs:range rdf:resource="#Agent"/>
  <rdfs:domain rdf:resource="#Agent"/>
</owl:TransitiveProperty>

<owl:TransitiveProperty rdf:ID="subordinateOf">
  <rdf:type rdf:resource="&owl;ObjectProperty"/>
  <rdfs:subPropertyOf rdf:resource="#affiliate"/>
  <rdfs:label>Subordinate Of</rdfs:label>
  <owl:inverseOf rdf:resource="#subordinate"/>
</owl:TransitiveProperty>

<owl:TransitiveProperty rdf:ID="subOrganization">
  <rdf:type rdf:resource="&owl;ObjectProperty"/>
  <rdfs:subPropertyOf rdf:resource="#affiliate"/>
  <rdfs:label>Sub Organization</rdfs:label>
  <rdfs:domain rdf:resource="#Organization"/>
  <rdfs:range rdf:resource="#Organization"/>
</owl:TransitiveProperty>

<owl:TransitiveProperty rdf:ID="subOrganizationOf">
  <rdf:type rdf:resource="&owl;ObjectProperty"/>
  <rdfs:subPropertyOf rdf:resource="#affiliate"/>
  <rdfs:label>Sub Organization Of</rdfs:label>
  <owl:inverseOf rdf:resource="#subOrganization"/>
  <rdfs:domain rdf:resource="#Organization"/>
  <rdfs:range rdf:resource="#Organization"/>
</owl:TransitiveProperty>
    

<owl:DatatypeProperty rdf:ID="alias">
  <rdfs:label>Alias</rdfs:label>
  <rdfs:domain rdf:resource="#Agent"/>
  <rdfs:subPropertyOf rdf:resource="#name"/>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="name">
  <rdfs:label>Name</rdfs:label>
  <!--<rdfs:subPropertyOf rdf:resource="&rdfs;label"/>-->
  <owl:equivalentProperty rdf:resource="&pers;name"/>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="startTime">
  <rdfs:label>Start Time</rdfs:label>
  <rdfs:range rdf:resource="&xsd;dateTime"/>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="endTime">
  <rdfs:label>End Time</rdfs:label>
  <rdfs:range rdf:resource="&xsd;dateTime"/>
</owl:DatatypeProperty>


<owl:DatatypeProperty rdf:ID="startDate">
  <rdfs:label>Start Time</rdfs:label>
  <rdfs:range rdf:resource="&xsd;date"/>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="endDate">
  <rdfs:label>End Time</rdfs:label>
  <rdfs:range rdf:resource="&xsd;date"/>
</owl:DatatypeProperty>

<rdfs:Datatype rdf:about="&xsd;dateTime" rdfs:label="Date-Time"/>


<owl:DatatypeProperty rdf:ID="address">
    <rdfs:label>address</rdfs:label>
	<rdfs:domain rdf:resource="#Agent"/>
	<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>


<owl:DatatypeProperty rdf:ID="emailAddress">
    <rdfs:label>email address</rdfs:label>
	<rdfs:domain rdf:resource="#Agent"/>
	<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>


<owl:DatatypeProperty rdf:ID="phone">
    <rdfs:label>phone number</rdfs:label>
	<rdfs:domain rdf:resource="#Agent"/>
	<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>

</rdf:RDF>

