@prefix :      <http://w3id.org/sepses/vocab/ref/attack#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vann:  <http://purl.org/vocab/vann/> .
@prefix dc:    <http://purl.org/dc/elements/1.1/> .

:dataSource  a       owl:DatatypeProperty ;
        rdfs:domain  :Technique ;
        rdfs:label   "dataSource" ;
        rdfs:range   xsd:string .

:Reference  a            owl:Class ;
        rdfs:label       "Reference" ;
        rdfs:subClassOf  owl:Thing .

:referenceId  a      owl:DatatypeProperty ;
        rdfs:domain  :Reference ;
        rdfs:label   "referenceId" ;
        rdfs:range   xsd:string .

<http://w3id.org/sepses/vocab/ref/attack>
        a                              owl:Ontology ;
        dc:creator                     "Kabul Kurniawan" ;
        dc:description                 "An ontology to represent MITRE ATT & CK.\nThis ontology is developed based on the MITRE ATT & CK  (https://attack.mitre.org/)"@en ;
        dc:rights                      "http://creativecommons.org/licenses/by/4.0/" ;
        dc:title                       "MITRE ATT&CK Ontology" ;
        vann:preferredNamespacePrefix  "attack" ;
        owl:versionIRI                 <https://w3id.org/sepses/vocab/ref/attack/2.0.0> .

<http://w3id.org/sepses/vocab/ref/capec#CAPEC>
        a       owl:Class .

:accomplishesTactic  a  owl:ObjectProperty ;
        rdfs:domain  :Technique ;
        rdfs:label   "accomplishesTactic" ;
        rdfs:range   :Tactic .

:isSubTechniqueOf  a  owl:ObjectProperty ;
        rdfs:domain  :Technique ;
        rdfs:label   "isSubTechniqueOf" ;
        rdfs:range   :Technique .

:hasReference  a     owl:ObjectProperty ;
        rdfs:domain  :Technique ;
        rdfs:label   "hasReference" ;
        rdfs:range   :Reference .

:detection  a        owl:DatatypeProperty ;
        rdfs:domain  :Technique ;
        rdfs:label   "detection" ;
        rdfs:range   xsd:string .

:hasCAPEC  a         owl:ObjectProperty ;
        rdfs:domain  :Technique ;
        rdfs:label   "hasCAPEC" ;
        rdfs:range   <http://w3id.org/sepses/vocab/ref/capec#CAPEC> .

:preventsTechnique  a  owl:ObjectProperty ;
        rdfs:domain  :Mitigation ;
        rdfs:label   "preventsTechnique" ;
        rdfs:range   :Technique .

:referenceUrl  a     owl:DatatypeProperty ;
        rdfs:domain  :Reference ;
        rdfs:label   "referenceUrl" ;
        rdfs:range   xsd:string .

:Mitigation  a           owl:Class ;
        rdfs:label       "Mitigation" ;
        rdfs:subClassOf  owl:Thing .

:referenceName  a    owl:DatatypeProperty ;
        rdfs:domain  :Reference ;
        rdfs:label   "referenceName" ;
        rdfs:range   xsd:string .

:hasMitigation  a    owl:ObjectProperty ;
        rdfs:domain  :Technique ;
        rdfs:label   "hasMitigation" ;
        rdfs:range   :Mitigation .

dc:description  a  owl:AnnotationProperty .

:targetsAsset  a     owl:ObjectProperty ;
        rdfs:domain  :Technique ;
        rdfs:label   "targetsAsset" ;
        rdfs:range   :Asset .

:DataSource  a           owl:Class ;
        rdfs:label       "DataSource" ;
        rdfs:subClassOf  owl:Thing .

:Asset  a                owl:Class ;
        rdfs:label       "Asset" ;
        rdfs:subClassOf  owl:Thing .

dc:creator  a   owl:AnnotationProperty .

:DataComponent  a        owl:Class ;
        rdfs:label       "DataComponent" ;
        rdfs:subClassOf  owl:Thing .

:Malware  a              owl:Class ;
        rdfs:label       "Malware" ;
        rdfs:subClassOf  owl:Thing , :Software .

:usesMalware  a      owl:ObjectProperty ;
        rdfs:domain  :AdversaryGroup ;
        rdfs:label   "usesMalware" ;
        rdfs:range   :Malware .

:platform  a         owl:DatatypeProperty ;
        rdfs:domain  :Technique ;
        rdfs:label   "platform" ;
        rdfs:range   xsd:string .

:permissionRequired  a  owl:DatatypeProperty ;
        rdfs:domain  :Technique ;
        rdfs:label   "permissionRequired" ;
        rdfs:range   xsd:string .

:usesSoftware  a     owl:ObjectProperty ;
        rdfs:domain  :AdversaryGroup ;
        rdfs:label   "usesSoftware" ;
        rdfs:range   :Software .

:aliases  a          owl:DatatypeProperty ;
        rdfs:domain  :AdversaryGroup ;
        rdfs:label   "aliases" ;
        rdfs:range   xsd:string .

:isSubtechnique  a   owl:DatatypeProperty ;
        rdfs:domain  :Technique ;
        rdfs:label   "isSubtechnique" ;
        rdfs:range   xsd:boolean .

:hasAdversaryGroup  a  owl:ObjectProperty ;
        rdfs:domain  :Malware ;
        rdfs:label   "hasAdversaryGroup" ;
        rdfs:range   :AdversaryGroup .

:Technique  a            owl:Class ;
        rdfs:label       "Technique" ;
        rdfs:subClassOf  owl:Thing .

vann:preferredNamespacePrefix
        a       owl:AnnotationProperty .

:hasTechnique  a     owl:ObjectProperty ;
        rdfs:domain  :Tactic ;
        rdfs:label   "hasTechnique" ;
        rdfs:range   :Technique .

:Campaign  a             owl:Class ;
        rdfs:label       "Campaign" ;
        rdfs:subClassOf  owl:Thing .

:usesTechnique  a    owl:ObjectProperty ;
        rdfs:domain  :AdversaryGroup ;
        rdfs:label   "usesTechnique" ;
        rdfs:range   :Technique .

:implementsTechnique  a  owl:ObjectProperty ;
        rdfs:domain  :Malware ;
        rdfs:label   "implementsTechnique" ;
        rdfs:range   :Technique .

:hasSoftware  a      owl:ObjectProperty ;
        rdfs:domain  :Technique ;
        rdfs:label   "hasSoftware" ;
        rdfs:range   :Software .

:Tactic  a               owl:Class ;
        rdfs:label       "Tactic" ;
        rdfs:subClassOf  owl:Thing .

dc:rights  a    owl:AnnotationProperty .

dc:title  a     owl:AnnotationProperty .

:associatedGroup  a  owl:ObjectProperty ;
        rdfs:domain  :Technique ;
        rdfs:label   "associatedGroup" ;
        rdfs:range   :AdversaryGroup .

:AdversaryGroup  a       owl:Class ;
        rdfs:label       "AdversaryGroup" ;
        rdfs:subClassOf  owl:Thing .

:SubTechnique  a         owl:Class ;
        rdfs:label       "SubTechnique" ;
        rdfs:subClassOf  owl:Thing , :Technique .

:Software  a             owl:Class ;
        rdfs:label       "Software" ;
        rdfs:subClassOf  owl:Thing .

:referenceDescription
        a            owl:DatatypeProperty ;
        rdfs:domain  :Reference ;
        rdfs:label   "referenceDescription" ;
        rdfs:range   xsd:string .
