# baseURI: http://onto.fel.cvut.cz/ontologies/form
# imports: http://onto.fel.cvut.cz/ontologies/documentation

@prefix : <http://onto.fel.cvut.cz/ontologies/form/> .
@prefix documentatio: <http://onto.fel.cvut.cz/ontologies/documentation> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://onto.fel.cvut.cz/ontologies/documentation/todo>
  rdf:type owl:DatatypeProperty ;
.
<http://onto.fel.cvut.cz/ontologies/form>
  rdf:type owl:Ontology ;
  rdfs:comment "Represent form data." ;
  owl:imports <http://onto.fel.cvut.cz/ontologies/documentation> ;
.
:accepts-answer-value
  rdf:type owl:AnnotationProperty ;
  rdfs:label "accepts value"^^xsd:string ;
.
:accepts-validatoin-value
  rdf:type owl:DatatypeProperty ;
  rdfs:comment "Defines which validation values (true/false) are permitted for the tested question." ;
  rdfs:domain :condition ;
  rdfs:label "accepts validation value" ;
  rdfs:range xsd:boolean ;
.
:answer
  rdf:type owl:Class ;
  rdfs:subClassOf :entity ;
.
:condition
  rdf:type owl:Class ;
  rdfs:label "Condition"^^xsd:string ;
  rdfs:subClassOf owl:Thing ;
.
:entity
  rdf:type owl:Class ;
  rdfs:label "entity"^^xsd:string ;
  rdfs:subClassOf owl:Thing ;
.
:has-answer-origin
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines entity from which this answer was created."^^xsd:string ;
  rdfs:domain <http://onto.fel.cvut.cz/ontologies/documentation/question> ;
  rdfs:label "has answer origin"^^xsd:string ;
  rdfs:subPropertyOf :has-origin ;
.
:has-datatype
  rdf:type owl:DatatypeProperty ;
  rdfs:label "has datatype"^^xsd:string ;
.
:has-origin
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines entity from which this template was created."^^xsd:string ;
  rdfs:label "has origin"^^xsd:string ;
.
:has-origin-type
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines type of entity from which this template was created."^^xsd:string ;
  rdfs:label "has origin"^^xsd:string ;
.
:has-possible-value
  rdf:type owl:ObjectProperty ;
  rdfs:label "has-possible-value"^^xsd:string ;
.
:has-possible-values-query
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines entity from which this template was created."^^xsd:string ;
  rdfs:domain :question-template ;
  rdfs:label "has template origin"^^xsd:string ;
  rdfs:subPropertyOf :has-origin ;
.
:has-preceding-question
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines that this question follows (typicaly chronologically) specified question."^^xsd:string ;
  rdfs:domain <http://onto.fel.cvut.cz/ontologies/documentation/question> ;
  rdfs:label "has preceding question"^^xsd:string ;
  rdfs:range <http://onto.fel.cvut.cz/ontologies/documentation/question> ;
.
:has-preceding-template
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines that this question template follows (typicaly chronologically) specified question template."^^xsd:string ;
  rdfs:domain :question-template ;
  rdfs:label "has preceding question template"^^xsd:string ;
  rdfs:range :question-template ;
.
:has-question-origin
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines entity from which this question was created."^^xsd:string ;
  rdfs:domain <http://onto.fel.cvut.cz/ontologies/documentation/question> ;
  rdfs:label "has question origin"^^xsd:string ;
  rdfs:subPropertyOf :has-origin ;
.
:has-subsection
  rdf:type owl:ObjectProperty ;
  rdfs:label "has-subsection"^^xsd:string ;
.
:has-subtemplate
  rdf:type owl:ObjectProperty ;
  rdfs:domain :section ;
  rdfs:range :question-template ;
.
:has-template
  rdf:type owl:ObjectProperty ;
  rdfs:label "has-template"^^xsd:string ;
.
:has-template-origin
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines entity from which this template was created."^^xsd:string ;
  rdfs:domain :question-template ;
  rdfs:label "has template origin"^^xsd:string ;
  rdfs:subPropertyOf :has-origin ;
.
:has-template-relation
  rdf:type owl:ObjectProperty ;
  rdfs:label "has-template-relation"^^xsd:string ;
.
:has-tested-question
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Determine which questions are tested for this condition. Multiple questions can be tested."^^xsd:string ;
  rdfs:domain :condition ;
  rdfs:label "has tested question"^^xsd:string ;
  rdfs:range <http://onto.fel.cvut.cz/ontologies/documentation/question> ;
.
:has-unit
  rdf:type owl:DatatypeProperty ;
  rdfs:label "has unit"^^xsd:string ;
  rdfs:range xsd:string ;
.
:is-clone-of-question
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Question within subject of this relation is unmodifiable clone of question within object of this relation."^^xsd:string ;
  rdfs:domain <http://onto.fel.cvut.cz/ontologies/documentation/question> ;
  rdfs:range <http://onto.fel.cvut.cz/ontologies/documentation/question> ;
.
:is-link-template-of
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Subject of this relation is a template relation (?s_qts_rel) that defines contract how any of its question should be created. Every question created using ?s_qts_rel must be only reference to other question created from ?o_qts_rel, i.e. template relation within object of this relation. Domain and range of this relation is of type reification of ?qt1 has-subtemplate ?qt2."^^xsd:string ;
.
:is-relevant-if
  rdf:type owl:ObjectProperty ;
  rdfs:comment "States in which context is statement relevant."^^xsd:string ;
  rdfs:domain <http://onto.fel.cvut.cz/ontologies/documentation/question> ;
  rdfs:label "is relevant if"^^xsd:string ;
  rdfs:range :condition ;
.
:is-valid-answer
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines  set of answers that need to be valid in order for condition to hold."^^xsd:string ;
  rdfs:domain :condition ;
  rdfs:label "has valid answer"^^xsd:string ;
  rdfs:range <http://onto.fel.cvut.cz/ontologies/documentation/question> ;
.
:positive-validation-condition
  rdf:type owl:Class ;
  rdfs:comment "Indicates that accept answer value is only  \"true\" of this condition." ;
  rdfs:subClassOf :validation-result-condition ;
.
:question-origin
  rdf:type owl:Class ;
  rdfs:comment "Class of objects that are used to reconstruct how was a question created." ;
  rdfs:label "Question origin" ;
.
:question-template
  rdf:type owl:Class ;
  rdfs:subClassOf :template-entity ;
.
:requires-answer-description-if
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Answer requires descripton."^^xsd:string ;
  rdfs:domain <http://onto.fel.cvut.cz/ontologies/documentation/question> ;
  rdfs:label "requires answer description"^^xsd:string ;
  rdfs:range :condition ;
.
:section
  rdf:type owl:Class ;
  rdfs:subClassOf :question-template ;
.
:template-entity
  rdf:type owl:Class ;
  rdfs:label "template-entity"^^xsd:string ;
  rdfs:subClassOf owl:Thing ;
.
:validation-result-condition
  rdf:type owl:Class ;
  rdfs:subClassOf :condition ;
.
