PREFIX ccinstances: <http://cookingbigdata.com/linkeddata/ccinstances#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

ccinstances:network a rdfs:Class ;
  rdfs:label "Network"@en .

ccinstances:network_bandwidth a rdf:Property ;
  rdfs:label "Network bandwidth"@en ;
  rdfs:comment "Network bandwidth in Mbps. For example: 1000 Mbps"@en ;
  rdfs:domain ccinstances:network ;
  rdfs:range xsd:decimal .

<http://xmlns.com/foaf/0.1/Person> a rdfs:Class .

ccinstances:cpu a rdfs:Class ;
  rdfs:label "CPU"@en .

ccinstances:cpu_cores a rdf:Property ;
  rdfs:label "CPU cores"@en ;
  rdfs:comment "Numer of physical cores. For example: 6"@en ;
  rdfs:domain ccinstances:cpu ;
  rdfs:range xsd:integer .

ccinstances:cpu_code a rdf:Property ;
  rdfs:label "CPU ID"@en ;
  rdfs:comment "Processor Number. For example: i5-8600T"@en ;
  rdfs:domain ccinstances:cpu ;
  rdfs:range xsd:string .

ccinstances:cpu_cache a rdf:Property ;
  rdfs:label "CPU Cache"@en ;
  rdfs:comment "CPU Cache is an area of fast memory located on the processor. It refers to the architecture that allows all cores to dynamically share access to the last level cache."@en ;
  rdfs:domain ccinstances:cpu ;
  rdfs:range xsd:integer .

ccinstances:cpu_spped a rdf:Property ;
  rdfs:label "CPU bus speed"@en ;
  rdfs:comment "A bus is a subsystem that transfers data between computer components or between computers. Types include (FSB) (DMI) (Intel I/O) (QPI)"@en ;
  rdfs:domain ccinstances:cpu ;
  rdfs:range xsd:integer .

ccinstances:cpu_model a rdf:Property ;
  rdfs:label "CPU Model"@en ;
  rdfs:comment "Model of CPU. For example: 8th Generation Intel® Core™ i5 Processors"@en ;
  rdfs:domain ccinstances:cpu ;
  rdfs:range xsd:string .

ccinstances:cpu_consumition a rdf:Property ;
  rdfs:label "CPU TDP"@en ;
  rdfs:comment "CPU Thermal Design Power (TDP) represents the average power, in watts, the processor dissipates when operating at Base Frequency with all cores active under an Intel-defined, high-complexity workload"@en ;
  rdfs:domain ccinstances:cpu ;
  rdfs:range xsd:decimal .

ccinstances:cpu_threads a rdf:Property ;
  rdfs:label "CPU threads"@en ;
  rdfs:domain ccinstances:cpu ;
  rdfs:range xsd:integer .

ccinstances:cpu_max_frecuency a rdf:Property ;
  rdfs:label "CPU Max Frecuency"@en ;
  rdfs:comment "Max turbo frequency is the maximum single core frequency at which the processor is capable of operating using Intel® Turbo Boost Technology. Frequency is measured in gigahertz (GHz), or billion cycles per second."@en ;
  rdfs:domain ccinstances:cpu ;
  rdfs:range xsd:decimal .

ccinstances:cpu_frecuency a rdf:Property ;
  rdfs:label "CPU Frecuency"@en ;
  rdfs:comment "Processor Base Frequency describes the rate at which the processor's transistors open and close. The processor base frequency is the operating point where TDP is defined. Frequency is measured in gigahertz (GHz), or billion cycles per second."@en ;
  rdfs:domain ccinstances:cpu ;
  rdfs:range xsd:decimal .

ccinstances:storage a rdfs:Class ;
  rdfs:label "Storage"@en .

ccinstances:storage_bandwidth a rdf:Property ;
  rdfs:label "Storage Bandwidth"@en ;
  rdfs:comment "Storage bandwidth in MB/s"@en ;
  rdfs:domain ccinstances:storage ;
  rdfs:range xsd:integer .

ccinstances:storage_size a rdf:Property ;
  rdfs:label "Storage size"@en ;
  rdfs:comment "Storage size. For example: 500 GB"@en ;
  rdfs:domain ccinstances:storage ;
  rdfs:range xsd:decimal .

ccinstances:storage_technology a rdf:Property ;
  rdfs:label "Storage Technology"@en ;
  rdfs:comment "Storage Technology. For instance: SSD/HDD/..."@en ;
  rdfs:domain ccinstances:storage ;
  rdfs:range xsd:string .

<http://xmlns.com/foaf/0.1/Organization> a rdfs:Class .

ccinstances:Instance a rdfs:Class ;
  rdfs:label "Instance"@en .

ccinstances:hasRAM a rdf:Property ;
  rdfs:label "Has RAM"@en ;
  rdfs:comment "Specifies that the instance is provided with RAM"@en ;
  rdfs:domain ccinstances:Instance ;
  rdfs:range ccinstances:ram .

ccinstances:model a rdf:Property ;
  rdfs:label "Model Code"@en ;
  rdfs:comment "Unique identifier of the instance. It allows to know the name of the instance in a quick way. For instance: t2.medium"@en ;
  rdfs:domain ccinstances:Instance ;
  rdfs:range xsd:string .

ccinstances:code a rdf:Property ;
  rdfs:label "Short Code"@en ;
  rdfs:comment "Instance group code"@en ;
  rdfs:domain ccinstances:Instance ;
  rdfs:range xsd:string .

ccinstances:hasStorage a rdf:Property ;
  rdfs:label "Has storage"@en ;
  rdfs:comment "Specifies that the instance is provided with storage"@en ;
  rdfs:domain ccinstances:Instance ;
  rdfs:range ccinstances:storage .

ccinstances:hasNetwork a rdf:Property ;
  rdfs:label "Has network"@en ;
  rdfs:comment "Specifies that the instance is provided with network"@en ;
  rdfs:domain ccinstances:Instance ;
  rdfs:range ccinstances:network .

ccinstances:hasCPU a rdf:Property ;
  rdfs:label "Has CPU"@en ;
  rdfs:comment "Specifies that the instance is provided with CPU"@en ;
  rdfs:domain ccinstances:Instance ;
  rdfs:range ccinstances:cpu .

ccinstances:type a rdf:Property ;
  rdfs:label "Type Code"@en ;
  rdfs:comment "Name that groups together instances of the same or similar type under a common name; for example: Basic Group"@en ;
  rdfs:domain ccinstances:Instance ;
  rdfs:range xsd:string .

ccinstances:ram a rdfs:Class ;
  rdfs:label "RAM"@en .

ccinstances:ram_size a rdf:Property ;
  rdfs:label "RAM size"@en ;
  rdfs:comment "RAM size of the instance. For example: 256 GB"@en ;
  rdfs:domain ccinstances:ram ;
  rdfs:range xsd:integer .

ccinstances:ram_type a rdf:Property ;
  rdfs:label "RAM Type"@en ;
  rdfs:comment "RAM Type. For example: DDR3"@en ;
  rdfs:domain ccinstances:ram ;
  rdfs:range xsd:string .

ccinstances:ram_frecuency a rdf:Property ;
  rdfs:label "RAM frecuency"@en ;
  rdfs:comment "RAM frecuency in MHz. For example: 2300 MHz"@en ;
  rdfs:domain ccinstances:ram ;
  rdfs:range xsd:integer .

ccinstances:gpu a rdfs:Class ;
  rdfs:label "GPU"@en ;
  rdfs:subClassOf ccinstances:cpu .
