PREFIX omn: <http://open-multinet.info/ontology/omn#>
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#>

omn:Layer a rdfs:Class ;
  rdfs:label "Layer"@en ;
  rdfs:comment "Examples: In networking, an end-to-end connectivity has to be on the same layer (path finding). For resources, it can describe the capability to adapt to a virtualized version"@en ;
  rdfs:seeAlso <http://www.science.uva.nl/research/sne/indl#VirtualNode> , <http://schemas.ogf.org/nml/2013/05/base#AdaptationService> .

omn:adaptableTo a rdf:Property ;
  rdfs:label "adaptable to"@en ;
  rdfs:comment "determines to which resource this resource can adapts to - e.g. from an Ethernet to a FDDI port."@en ;
  rdfs:domain omn:Layer ;
  rdfs:range omn:Layer .

omn:adaptableFrom a rdf:Property ;
  rdfs:label "adaptable from"@en ;
  rdfs:comment "determines the resource from which this resource can be adapted from - e.g. from an Ethernet to a FDDI port."@en ;
  rdfs:domain omn:Layer ;
  rdfs:range omn:Layer .

<http://www.w3.org/2006/time#Interval> a rdfs:Class ;
  rdfs:subClassOf omn:Reservation .

omn:isReservationOf a rdf:Property ;
  rdfs:label "is reservation of"@en ;
  rdfs:domain omn:Reservation ;
  rdfs:range xsd:string .

omn:Resource a rdfs:Class ;
  rdfs:label "Resource"@en ;
  rdfs:comment "An Entity that can be provisioned/controlled/measured by APIs"@en ;
  rdfs:seeAlso <http://fp7-novi.eu/im.owl#Node> , <http://schemas.ogf.org/nml/2013/05/base#Node> .

omn:hasService a rdf:Property ;
  rdfs:label "has service"@en ;
  rdfs:comment "a service that this resource contains - e.g. a Hadoop instance within a reserved topology"@en ;
  rdfs:range omn:Service .

omn:hasAttribute a rdf:Property ;
  rdfs:label "has attribute"@en ;
  rdfs:comment "link to a general attribute of the resource - e.g. to a ReadOnly class"@en ;
  rdfs:range omn:Attribute .

omn:dependsOn a rdf:Property ;
  rdfs:label "depends on"@en ;
  rdfs:comment "claims dependency"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf omn:relatesTo .

omn:hasComponent a rdf:Property ;
  rdfs:label "has component"@en ;
  rdfs:comment "component of the resource - e.g. a CPU"@en ;
  rdfs:seeAlso <http://fp7-novi.eu/im.owl#hasComponent> ;
  rdfs:range omn:Component .

omn:isResourceOf a rdf:Property ;
  rdfs:label "is resource of"@en ;
  rdfs:seeAlso <http://fp7-novi.eu/im.owl#contains> ;
  rdfs:domain omn:Resource ;
  rdfs:range omn:Group .

omn:adaptsFrom a rdf:Property ;
  rdfs:label "adapts from"@en ;
  rdfs:comment "determines from which resource this resource adapts - e.g. from an Ethernet to a FDDI port."@en ;
  rdfs:range xsd:string .

omn:relatesTo a rdf:Property ;
  rdfs:label "relates to"@en ;
  rdfs:comment "claims a general dependency"@en ;
  rdfs:range xsd:string .

omn:hasReservation a rdf:Property ;
  rdfs:label "has reservation"@en ;
  rdfs:comment "the reservation details of a resource - e.g. an immediate reservation for 3 hours"@en ;
  rdfs:range omn:Reservation .

omn:toDependency a rdf:Property ;
  rdfs:label "to dependency"@en ;
  rdfs:range omn:Dependency .

omn:withinEnvironment a rdf:Property ;
  rdfs:label "within environment"@en ;
  rdfs:range omn:Environment .

omn:adaptsTo a rdf:Property ;
  rdfs:label "adapts to"@en ;
  rdfs:comment "determines to which resource this resource adapts - e.g. from an Ethernet to a FDDI port."@en ;
  rdfs:range xsd:string .

omn:Service a rdfs:Class ;
  rdfs:label "Service"@en ;
  rdfs:comment "An Entity that has an API/capability to use it, it may depend on an omn:Resource"@en ;
  rdfs:seeAlso <http://purl.org/goodrelations/v1#ProductOrService> , <http://purl.org/ontology/service#Service> , <http://purl.org/dc/dcmitype/Service> , <http://fp7-novi.eu/im.owl#Service> , <http://schemas.ogf.org/nml/2013/05/base#Service> , <http://schema.org/Service> .

omn:isServiceOf a rdf:Property ;
  rdfs:label "is service of"@en ;
  rdfs:seeAlso <http://purl.org/ontology/service#providedBy> ;
  rdfs:domain omn:Service ;
  rdfs:range xsd:string .

omn:hasEndpoint a rdf:Property ;
  rdfs:label "has endpoint"@en ;
  rdfs:comment "The URL of the API of a service"@en ;
  rdfs:domain omn:Service ;
  rdfs:range xsd:anyURI .

omn:Reservation a rdfs:Class ;
  rdfs:label "Reservation"@en ;
  rdfs:comment "Examples: (Earliest) Start and (lates) end time, data volume, ..."@en ;
  rdfs:seeAlso <http://www.w3.org/2006/time#Interval> .

omn:Group a rdfs:Class ;
  rdfs:label "Group"@en ;
  rdfs:comment "A collection of omn:Resource, omn:Service or omn:Group"@en ;
  rdfs:seeAlso <http://geni-orca.renci.org/owl/collections.owl#Collection> , <http://fp7-novi.eu/im.owl#Group> , <http://schemas.ogf.org/nml/2013/05/base#Group> .

omn:isGroupOf a rdf:Property ;
  rdfs:label "is group of"@en ;
  rdfs:domain omn:Group ;
  rdfs:range omn:Group .

omn:hasResource a rdf:Property ;
  rdfs:label "has resource"@en ;
  rdfs:comment "a resource that this resource contains - e.g. a node within a reserved topology"@en ;
  rdfs:seeAlso <http://fp7-novi.eu/im.owl#contains> ;
  rdfs:domain omn:Group ;
  rdfs:range omn:Resource .

omn:hasGroup a rdf:Property ;
  rdfs:label "has group"@en ;
  rdfs:comment "a group that is related to this resource - e.g. a reserved topology within an infrastructure"@en ;
  rdfs:domain omn:Group ;
  rdfs:range omn:Group .

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

omn:Component a rdfs:Class ;
  rdfs:label "Component"@en ;
  rdfs:comment "Examples: CPU, Sensor, Core, Port, Image"@en ;
  rdfs:seeAlso <http://www.ontologydesignpatterns.org/cp/owl/move.owl#formsPartOf> , <http://purl.org/dc/terms/isPartOf> , <http://schema.org/partOfSystem> .

omn:isComponentOf a rdf:Property ;
  rdfs:label "is component of"@en ;
  rdfs:domain omn:Component ;
  rdfs:range xsd:string .

omn:Attribute a rdfs:Class ;
  rdfs:label "Attribute"@en ;
  rdfs:comment "Describes the attributes of an omn:Group, omn:Resource, omn:Service or omn:Component in more detail"@en ;
  rdfs:seeAlso <http://geni-orca.renci.org/owl/app-color.owl#ColorAttribute> , <http://schemas.ogf.org/nml/2013/05/base#Location> .

omn:isAttributeOf a rdf:Property ;
  rdfs:label "is attribute of"@en ;
  rdfs:domain omn:Attribute ;
  rdfs:range xsd:string .

omn:isReadonly a rdf:Property ;
  rdfs:label "is read only"@en ;
  rdfs:comment "information/attribute that is not writable"@en ;
  rdfs:domain omn:Attribute ;
  rdfs:range xsd:boolean .

omn:Dependency a rdfs:Class ;
  rdfs:label "Dependency"@en ;
  rdfs:comment "Examples: application coloring (in GENI context), orchestration needs dependencies"@en ;
  rdfs:seeAlso <http://www.science.uva.nl/research/sne/indl#implements> , <http://fp7-novi.eu/im.owl#implements> , <http://geni-orca.renci.org/owl/app-color.owl#ColorAttribute> .

omn:fromDependency a rdf:Property ;
  rdfs:label "from dependency"@en ;
  rdfs:comment "claims dependency"@en ;
  rdfs:domain omn:Dependency ;
  rdfs:range xsd:string .

omn:Environment a rdfs:Class ;
  rdfs:label "Environment"@en ;
  rdfs:comment "Examples: interference, concurrent virtual machines, concurrent traffic, temperature, heat, ..."@en ;
  rdfs:seeAlso <http://schema.org/Place> .

omn:Topology a rdfs:Class ;
  rdfs:label "Topology"@en ;
  rdfs:comment "A collection of omn:Resource, omn:Service or omn:Group"@en ;
  rdfs:subClassOf omn:Group .
