PREFIX ontomodel: <http://www.theworldavatar.com/ontology/ontomodel/OntoModel.owl#>
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#>

ontomodel:Parameter a rdfs:Class ;
  rdfs:comment "This class defines a parameter." .

ontomodel:hasParameterName a rdf:Property ;
  rdfs:comment "This data property labels a parameter." ;
  rdfs:domain ontomodel:Parameter ;
  rdfs:range xsd:string .

ontomodel:hasParameterType a rdf:Property ;
  rdfs:comment "This data property specifies the data type of a parameter." ;
  rdfs:domain ontomodel:Parameter ;
  rdfs:range xsd:string .

ontomodel:XMLFile a rdfs:Class ;
  rdfs:comment "This class defines an XML file." ;
  rdfs:subClassOf ontomodel:File .

ontomodel:hasFileName a rdf:Property ;
  rdfs:comment "This data property labels a file." ;
  rdfs:domain ontomodel:File ;
  rdfs:range xsd:string .

ontomodel:hasFilePath a rdf:Property ;
  rdfs:comment "This data property specifies the path of a file." ;
  rdfs:domain ontomodel:File ;
  rdfs:range xsd:string .

ontomodel:FileParam a rdfs:Class ;
  rdfs:comment "This class defines a parameter that is located in a file." ;
  rdfs:subClassOf ontomodel:Parameter .

ontomodel:DSVFileParam a rdfs:Class ;
  rdfs:comment "This class defines a parameter that is located in a DSV file." ;
  rdfs:subClassOf ontomodel:FileParam .

ontomodel:hasDSVFile a rdf:Property ;
  rdfs:comment "This object property associates a DSV file to a parameter." ;
  rdfs:domain ontomodel:DSVFileParam ;
  rdfs:range ontomodel:DSVFile .

ontomodel:hasDSVLocation a rdf:Property ;
  rdfs:comment "This object property specifies the location of a parameter in a DSV file." ;
  rdfs:domain ontomodel:DSVFileParam ;
  rdfs:range ontomodel:DSVLocation .

ontomodel:Model a rdfs:Class ;
  rdfs:comment "This class defines a generic model." .

ontomodel:hasOutputParameter a rdf:Property ;
  rdfs:comment "This object property associates an output parameter to a model." ;
  rdfs:domain ontomodel:Model ;
  rdfs:range ontomodel:Parameter .

ontomodel:hasInputParameter a rdf:Property ;
  rdfs:comment "This object property associates an input parameter to a model." ;
  rdfs:domain ontomodel:Model ;
  rdfs:range ontomodel:Parameter .

ontomodel:hasModelName a rdf:Property ;
  rdfs:comment "This data property labels a model." ;
  rdfs:domain ontomodel:Model ;
  rdfs:range xsd:string .

ontomodel:DSVLocColNameAtRowVal a rdfs:Class ;
  rdfs:comment "This class defines a location inside a DSV file by column name and where another column takes a given value." ;
  rdfs:subClassOf ontomodel:DSVLocation .

ontomodel:hasAtColValue a rdf:Property ;
  rdfs:comment "This data property specifies the value used for row location in a DSV file." ;
  rdfs:domain ontomodel:DSVLocColNameAtRowVal ;
  rdfs:range xsd:float .

ontomodel:hasAtColName a rdf:Property ;
  rdfs:comment "This data property specifies the name of a column used for row location in a DSV file." ;
  rdfs:domain ontomodel:DSVLocColNameAtRowVal ;
  rdfs:range xsd:string .

ontomodel:hasColName a rdf:Property ;
  rdfs:comment "This data property specifies the name of a column in a DSV file." ;
  rdfs:range xsd:string .

ontomodel:DSVLocation a rdfs:Class ;
  rdfs:comment "This class defines a location inside a DSV file." .

ontomodel:ExecutableModel a rdfs:Class ;
  rdfs:comment "This class defines an executable model." ;
  rdfs:subClassOf ontomodel:Model .

ontomodel:hasSLURMScript a rdf:Property ;
  rdfs:comment "This data property specifies the name of a SLURM script to submit an executable." ;
  rdfs:domain ontomodel:ExecutableModel ;
  rdfs:range xsd:string .

ontomodel:hasInputFileParam a rdf:Property ;
  rdfs:comment "This object property associates an input parameter in a file to an executable model." ;
  rdfs:domain ontomodel:ExecutableModel ;
  rdfs:range ontomodel:FileParam .

ontomodel:hasOutputFileParam a rdf:Property ;
  rdfs:comment "This object property associates an output parameter in a file to an executable model." ;
  rdfs:domain ontomodel:ExecutableModel ;
  rdfs:range ontomodel:FileParam .

ontomodel:hasExeFileName a rdf:Property ;
  rdfs:comment "This data property specifies the name of an executable." ;
  rdfs:domain ontomodel:ExecutableModel ;
  rdfs:range xsd:string .

ontomodel:isInArchive a rdf:Property ;
  rdfs:comment "This data property specifies the name of an archive which contains an executable." ;
  rdfs:domain ontomodel:ExecutableModel ;
  rdfs:range xsd:string .

ontomodel:DSVFile a rdfs:Class ;
  rdfs:comment "This class defines a Delimiter-Separated Value (DSV) file." ;
  rdfs:subClassOf ontomodel:File .

ontomodel:hasDelimiter a rdf:Property ;
  rdfs:comment "This data property specifies the delimiter of a DSV file." ;
  rdfs:domain ontomodel:DSVFile ;
  rdfs:range xsd:string .

ontomodel:XMLFileParam a rdfs:Class ;
  rdfs:comment "This class defines a parameter that is located in an XML file." ;
  rdfs:subClassOf ontomodel:FileParam .

ontomodel:hasXPath a rdf:Property ;
  rdfs:comment "This data property specifies the XPath of a parameter in an XML file." ;
  rdfs:domain ontomodel:XMLFileParam ;
  rdfs:range xsd:string .

ontomodel:hasXMLFile a rdf:Property ;
  rdfs:comment "This object property associates an XML file to a parameter." ;
  rdfs:domain ontomodel:XMLFileParam ;
  rdfs:range ontomodel:XMLFile .

ontomodel:File a rdfs:Class ;
  rdfs:comment "This class defines a file." .

ontomodel:DSVLocColNameRowIdx a rdfs:Class ;
  rdfs:comment "This class defines a location inside a DSV file by column name and row index." ;
  rdfs:subClassOf ontomodel:DSVLocation .

ontomodel:hasRowIdx a rdf:Property ;
  rdfs:comment "This data property specifies the index of a row in a DSV file." ;
  rdfs:domain ontomodel:DSVLocColNameRowIdx ;
  rdfs:range xsd:int .
